본문 바로가기
728x90
반응형

코딩/데이터 분석 이론 & 응용

[11] Deep Learning - Initialization & Activation function [11] Deep Learning - Initialization & Activation function 복잡한 문제를 해결해야 할수록 , Network는 점점 더 복잡하고 깊어져야 할 것이다. Network가 점점 더 깊어지고 복잡해 짐에 따라 다양한 문제들이 발생하였다. 기울기 소실(Gradient Vanishing), 기울기 폭주(Gradient Exploding) 거대한 DNN을 만드는 데 사용되는 Data 부족 ( Train data 부족 혹은 label이 없는 데이터를 사용할 경우 ) 깊어지고 복잡한 Network 때문에 극단적으로 길어지는 훈련시간 다수의 parameter들로 인해 Overfitting의 위험성 ( 특히 Train data set이 적을 때 ) Gradient Vanishing.. 더보기
[10] Deep Learning - Hyper Parameter Tuning [9] Deep Learning - Hyper Parameter Tuning Hyper Parameter 모델을 만들고 학습시킬 때 , 다양한 부분에서 hyper parameter를 선택해야 한다. hyper parameter 들의 예시로는 뉴런의 개수 , hidden layer의 개수 , 학습률 등 다양하게 존재한다. 이러한 hyper parameter들의 조합의 가짓수는 선택해야 할 parameter가 추가될 때마다 빠른 속도로 커질 것이다. 최적의 hyper parameter 조합을 찾는다는 것은 hyper parameter들로 이루어진 공간을 탐색해야 한다는 것과 같다. 이러한 부분에 있어서 최적화 기법을 사용할 수 있고 hyper parameter를 tuning 할 수 있다. 다음은 hyper .. 더보기
[9] Deep Learning - Keras Functional API [9] Deep Learning - Keras Functional API 지난 글에서는 Keras의 sequential API를 통해 이미지 분류 문제를 살펴보았다. [8] Deep Learning - Perceptron (tistory.com) [8] Deep Learning - Perceptron [8] Deep Learning - Perceptron Perceptron Perceptron은 가장 간단한 인공 신경망의 일종으로 TLU를 기반으로 구성된다. TLU는 위의 그림과 같이 입력에 대해 가중치를 적용한 후 , 이를 모두 더해 계단 함.. ddggblog.tistory.com 이번에는 순차적이지 않은 구조를 만들기 위해 Keras의 Functional API를 살펴본다. 순차적이지 않은 네트워크.. 더보기
[8] Deep Learning - Perceptron [8] Deep Learning - Perceptron Perceptron Perceptron은 가장 간단한 인공 신경망의 일종으로 TLU를 기반으로 구성된다. TLU는 위의 그림과 같이 입력에 대해 가중치를 적용한 후 , 이를 모두 더해 계단 함수 ( step function )에 적용한다. 사용되는 계단 함수의 대표적인 예시는 Heavyside와 sign function 이 있다. Heavyside step function - h(z) z >= 0 일 때 , 1 z 0 일 떄 , 1 기본적인 Perceptron은 층이 하나뿐이고 이는 TLU로 구성된다. 이 TLU는 모든 입력에 대해 .. 더보기
[7] Deep Learning - CNN [7] Deep Learning - CNN Neural Network Neural Network는 지도 학습으로 괜찮았지만, 90년대 이후 한계에 도달했다. 실제로 복잡한 문제를 해결하고자 할 때, 잘 해결하지 못했기 때문이다. Neural Network의 universal approximation theorem은 뉴럴의 개수가 많고 layer의 개수가 많으면 어떠한 function이던 approximation이 가능하다는 이론이다. 이론에 따르면 아무리 시간이 오래 걸리더라도 문제를 풀 수는 있어야 한다. 그런데 그렇지 않았다. weight와 bias가 제대로 학습되지 않거나 발산했기 때문에 deep 한 layer와 많은 수의 뉴럴로도 풀지 못하는 문제가 존재했다. 이러한 이유에 대해서 원인을 찾아보니.. 더보기
[6] Deep Learning - Neural Network [6] Deep Learning - Neural Network Neural Network Neural Network의 역사는 과거부터 시작되었다. 사람의 뇌를 본뜨고자 하는 아이디어가 제시되었고 , 뉴런을 만들어 뇌의 구조를 흉내 내고자 하였다. 뉴런은 axon , 축삭돌기를 통해 활동전위를 전달한다. 이러한 뉴런의 구조를 본떠 입력을 받는 부분과 출력을 내보내는 부분이 존재하도록 객체를 만들었다. 위의 그림은 뉴런과 객체를 비교한 그림이다. 두 그림 모두 입력과 출력에 대한 부분이 존재하는 것을 확인할 수 있다. cell body에 들어온 입력에 대해 어떠한 함수에 대입해 계산하고 그 결과를 출력으로 내보내는 구조이다. 뉴런이 모여있으면 Neural Network이므로 , Neural Network는 .. 더보기
[5] Co-Occurrence Networks Analyzing [5] Co-Occurrence Networks Analyzing Network Science 요즘 데이터 분석은 사회 전반적인 부분에서 쓰이지 않는 곳이 없다. 각각의 사용되는 domain 분야에서 세부적인 분석은 다를 수 있지만 , 두 가지 큰 공통점들이 있다. 어떠한 오브젝트들 사이의 관계를 파악하는 것이 중요하다는 것과 이러한 관계에 대한 데이터의 양이 점점 방대해지고 있다는 점이다. 즉 neuron에서 entity가 사람이 될 수도 , 나라가 될 수도 , 물건이 될 수도 있다는 것이고 이러한 entity들 사이의 관계를 파악할 수 있는 데이터의 수의 양이 점점 늘어나고 있다는 것이다. 그래서 Network Science 라는 분야가 대두되기 시작했다. 기본적으로 Network Science는 아.. 더보기
[4] Latent Semantic Analysis & SVD [4] Latent Semantic Analysis & SVD Latent Semantic Analysis 자연어란 , 기계어나 프로그래밍 언어가 아닌 인간이 사용하는 언어를 의미한다. 자연어 기반의 데이터 즉 텍스트 데이터 들은 정형화되지 않은 비정형 데이터다. 정형화 데이터란 , 테이블 형식으로 표현이 가능하고 SQL을 이용한 query를 통해 기준에 맞는 데이터들을 확인할 수 있는 데이터를 이야기한다. 비정형 데이터는 이러한 특징이 없기 때문에 데이터를 다루는 데에 있어서 다른 방법을 사용해야 한다. Latent Semantic Analysis (LSA)란 , 각 문서에 포함된 단어들의 관계를 통해서 그 문서를 이해하고자 하는 방법이다. LSA의 가장 기본적인 목표는 관련된 콘셉트를 잘 뽑아내는 것.. 더보기
반응형