목록딥러닝 (7)
Stack Building
[머신러닝] supervised learning 정답이 있는 트레이닝 데이터로 트레이닝 하여 label(cat/dog/mug/hat)을 나눔(regression;연속된 값중 답 찾기, classification;pass/nonpass,학점과 같은 개수가 정해진 답 찾기) unsupervised learning 정답없는 데이터를 받아 어떤 패턴에 따라 데이터를 나눔(google news grouping, clustering) [머신러닝 프로세스] training data set -> ML algorithm -> (training) -> (model) -> 특정 x input, 미지의 y output [tensorflow] tensor는 노드를 나타내고 이런 노드의 흐름으로 머신러닝을 하기때문에 이름이 te..
1. TensorFlow와의 비교 텐서플로우 파이토치 Define and Run 패러다임 Define by Run Static Graph 그래프 형태 Dynamic Graph Tensorboard 시각화 Tensorboard (v 1.1) Google Brain 개발사 Facebook A.I. Research 요약하자면, 텐서플로우가 흐름을 만들고 흘려보내는 스타일이라면, 파이토치는 한 줄 실행을 할 때마다 바로 생성되어 값을 뱉는 스타일이라고 볼 수 있다. 2. Numpy와의 비교 요새의 파이토치에서는 Variable 부분을 Tensor로 통일했다고 한다. 위 코드는 실제로 딥러닝을 수행하는 코드라고 하기보다 randn으로 가우시안(정규) 분포를 따르는 난수를 생성하여 임의로 돌려보는 코드에 가깝다. ..
딥러닝이란 머신러닝의 하위 개념 중 하나로, 사람을 모방(신경망)한 알고리즘 또는 엄청난 연산량을 수행하는 알고리즘을 말한다. 비전, 오디오 등에서 주목할 만한 성과를 내고 있다. 증기 기관과 역학 이론 등에서 알 수 있다시피 많은 경우 현상(응용된 발명품)이 먼저 등장하고 이론이 정리되었다. 마찬가지로 현재 딥러닝은 도움이 되는 결과는 내놓고 있지만 정확한 과정이나 이유는 밝혀지지 않고 있다. 딥러닝은 머신 러닝의 특정한 한 분야로서 연속된 층layer에서 점진적으로 의미 있는 표현을 배우는 데 강점이 있으며, 데이터로부터 표현을 학습하는 새로운 방식입니다. 딥러닝의 딥deep이란 단어가 어떤 깊은 통찰을 얻을 수 있다는 것을 의미하지는 않습니다. 그냥 연속된 층으로 표현을 학습한다는 개념을 나타냅니다..
1. 손실 함수(Loss Function)를 코드로 구현하면? (1) Softmax def softmax(X): exps = np.exp(X) return exps / np.sum(exps) (2) Stable Softmax def stable_softmax(X): exps = np.exp(X - np.max(X)) return exps / np.sum(exps) (3) Cross-Entropy def cross_entropy(X,y): """ X is the output from fully connected layer (num_examples x num_classes) y is labels (num_examples x 1) Note that y is not one-hot encoded vector. I..
1. 활성 함수는 왜 쓰는가? 딥러닝 네트워크에서는 노드에 들어오는 값들에 대해 곧바로 다음 레이어로 전달하지 않고 주로 비선형 함수를 통과시킨 후 전달한다. 이때 사용하는 함수를 활성화 함수라고 부른다. 값에 따라 이 값을 활성화할지 비활성화할지 정하는 셈임. 여기서 주로 비선형 함수를 사용하는 이유는 선형함수를 사용할 시 층을 깊게 하는 의미가 줄어들기 때문이다. 선형함수인 h(x)=cx를 활성화함수로 사용한 3층 네트워크를 떠올려 보세요. 이를 식으로 나타내면 y(x)=h(h(h(x)))가 됩니다. 이는 실은 y(x)=ax와 똑같은 식입니다. a=c3이라고만 하면 끝이죠. 즉, 은닉층이 없는 네트워크로 표현할 수 있습니다. 뉴럴네트워크에서 층을 쌓는 혜택을 얻고 싶다면 활성화함수로는 반드시 비선형 ..
1. 신경망 개념 인간의 뉴런 체계를 모사 1-1. 인간의 뇌와 신경망 (1) 인간 뇌의 특징 - 1000억 개의 뉴런과 각 뉴런을 연결하는 100조 개의 시냅스의 결합체 - 뉴런은 기본적인 정보처리 단위 - 정보는 신경망 전체에 동시에 저장되고 처리 - 학습에 따라 ‘오답으로 이끄는 뉴런들 사이의 연결은 약화되고, ‘정답’으로 이끄는 연결은 강화 (2) 신경망Neural Network - 인간 뇌를 기반으로 한 추론 모델 - 인간 뇌의 적응성을 활용하여 ‘학습 능력’을 구현함 - 신경망은 뉴런이라는 아주 단순하지만 내부적으로 매우 복합하게 연결된 프로세스들로 이루어져 있음 - 뉴런은 가중치 있는 링크들로 연결 (3) 기계학습과 신경망 기계학습이란 인간이 가지고 있는 학습 능력을 로봇이나 컴퓨터에서 실현..
1. 텐서플로우 - 산술연산과정을 그래프 구조로 표현한 소프트웨어 라이브러리로 python이나 C++을 통해 사용 - 기계학습과 신경망 학습을 위해 구글에서 개발 - 누구나 자유롭게 사용가능 하도록 open source로 공개 2. 그래프의 의미 - 그래프: 유한 개의 정점을 선분으로 결합한 형식. - 쓰임: 경로 탐색, 객체 관계, 데이터 계층 구조 표현에 효과적으로 적용 - 정점(node) : 그래프에서 수학 연산 선분을 통해 입력 받은 데이터를 연산하여 결과를 선분으로 출력 - 선분(edge) : 정점을 지나는 데이터 배열. 텐서(tensor)라고 함 - 데이터 흐름(Data Flow) : 데이터들이 정점을 지나면서 연산이 수행하여 원하는 결과를 얻거나 작업이 이루어지는 과정 => 텐서가 그래프 상..