본문 바로가기

ML&DATA/밑바닥부터 시작하는 딥러닝4

7 - CNN 이미지 인식 분야에서 딥러닝을 활용한 기법은 거의 다 CNN을 기초로 함. 7.1 전체 구조 CNN에서는 기존 네트워크에서 새로운 합성곱 계층과 풀링 계층이 추가된다. CNN 계층은 conv-relu-pooling 흐름으로 연결된다. 출력에 가까운 층에서는 affine-relu 구성을 사용할 수 있다. 7.2 합성곱 계층 이미지는 다차원의 형상이고, 이 형상엔 공간적 정보가 담겨있다. 예를들어 공간적으로 먼 픽셀끼리는 별 연관이 없는 등 공간 속에서 의미를 갖는 본질적인 패턴이 숨어있다. 여태까지 배웠던 완전연결 계층은 형상에 담긴 정보를 살릴 수 없다. 반면, 합성곱 계층은 형상을 유지한다. 다차원 데이터를 입력받아 다차원 데이터를 출력받는다. 그래서 CNN에서는 이미지처럼 형상을 가진 데이터를 제대로.. 2020. 10. 7.
5 - 오차역전파법 학습을 위해선 손실함수의 각 feature에 대한 도함수 벡터(기울기)를 구해야 한다는 것을 저번 장에서 다뤘다. n층 신경망에서 수치미분으로 각각의 feature에 대해 도함수를 구하려면 상당한 시간이 걸린다. (역전파는 행렬식으로 이루어져있고, 모든 feature에 대한 도함수를 한번에 계산할 수 있기 때문에 빠르다.) stellarway.tistory.com/21?category=883928 계산 그래프로 역전파를 설명 batch마다 기울기를 역전파를 사용해서 구하여 경사하강해서 mnist 데이터셋을 학습시키는 예. import numpy as np from common.gradient import numerical_gradient from common.functions import * #for s.. 2020. 9. 18.
4 - 신경망 학습 학습이란 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 조정하는 것을 의미함. 손실함수의 결과값을 가장 작게 만드는 가중치 매개변수를 찾는 것이 이번 장의 목표 4.1 데이터에서 학습 기계학습은 훈련데이터와 시험데이터를 분리해야 한다. 범용 능력을 제대로 평가하기 위함이다. 한 데이터셋에만 지나치게 최적화된 상태를 오버피팅이라고 한다. 이를 극복하는 것이 기계학습의 중요한 과제이다. 딥러닝을 종단간 기계학습이라고도 한다. 처음부터 끝까지 사람의 개입없이 출력을 얻는다는 뜻을 담고 있다. 4.2 손실함수 손실함수가 가장 적도록 하는 가중치벡터를 찾는 것이 학습이라고 했다. 손실함수로 단순히 정확도를 사용하지 않는 것은 경사하강법을 위해 미분가능한 함수를 사용해야 하기 때문. 1. 오차제곱 합 (SS.. 2020. 9. 10.
3. 신경망 2.7 퍼셉트론 퍼셉트론은 다수의 입력을 받아 하나의 신호를 출력한다. XOR 게이트는 단층 퍼셉트론으로는 표현할 수 없다. 2층 퍼셉트론으로 XOR 게이트를 표현할 수 있다. 다층 퍼셉트론만으로 모든 논리연산을 구현할 수 있다. 3. 신경망 퍼셉트론으로 모든 연산을 표현할 수 있다. 하지만 가중치를 설정하는 작업은 사람이 수동으로 설정해야 한다는 문제가 있다. 신경망이 이 문제를 해결해준다. 가중치 매개변수의 적절한 값을 데이터로부터 자동으로 학습하는 능력을 가지고 있다. 3.1 퍼셉트론에서 신경망으로 신경망은 편향을 의미하는 노드도 추가하고, 가중치가 곱해진 입력 신호의 총합을 활성화 함수 $h$에 넣어 나온 결과 값을 가지고 신호를 출력한다. 3.2 활성화 함수 퍼셉트론과 신경망의 주된 차이는 활성.. 2020. 9. 8.