본문 바로가기

Deep Learning

(4)
신경망 학습 - 1 이번에는 신경망의 학습에 대해 알아보자. 학습이란 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것을 뜻한다. 손실함수의 결과 값을 가장 작게 만드는 가중치 매개변수를 찾는 것이 이번장의 목표인데, 이 기법으로 함수의 기울기를 활용하는 경사법을 소개한다. 1. 데이터에서 학습한다. 1-1. 데이터 주도 학습 머신러닝과 딥러닝의 학습 매커니즘의 차이는 feature 를 인간이 설계 하느냐 feature 까지도 기계가 설계 하느냐에 달려있다. 예를 들어, 이미지 인식이라고 하면 머신러닝은 이미지에서 feature 를 추출하고 그 특징의 패턴을 기계학습 기술로 학습하게 될 것이다. 여기서 말하는 feature 는 입력데이터에서 본질적인 데이터를 정확하게 추출할 수 있도록 설계된 변환기를 말한다..
신경망-2 (Neural Network) 1. 3층 신경망 구현하기 아래와 같은 2개의 은닉층을 가진 3층 신경망을 구현해보자. 먼저 1층의 첫번째 뉴런으로 가는 신호를 살펴보자. 아래 그림을 보면 편향이 하나 추가되어있는것을 확인 할 수 있다. 그림에서 $a_1^{(1)}$ 를 수식으로 나타내면 $a_1^{(1)} = w_{11}^{(1)}x_1 + w_{12}^{(1)}x_2 + b_1^{(1)}$ 으로 나타낼 수가 있다. 그리고 여기서 행렬의 곱을 이용하면 1층의 "가중치 부분" 을 다음 식처럼 간소화 할 수 있다. $$A^{(1)} = XW^{(1)} + B{(1)}$$ 그리고 활성화 함수를 사용해서 변환된 신호 $z$ 를 출력해 낸다. 여기서는 시그모이드 함수를 활성화 함수로 사용한다. 2층의 구현 또한 1층과 동일하며, 마지막 출력층..
신경망-1 (Neural Network) 퍼셉트론은 AND, OR 게이트의 진리표를 보면서 우리 인간이 적절한 가중치 값을 수동으로 결정했다. 신경망은 가중치 매개변수의 적절한 값을 데이터로부터 자동으로 학습하여 이 문제를 해결해 준다. 1. 퍼셉트론에서 신경망으로 1-1. 신경망의 예 아래 그림에서 가장 왼쪽줄을 입력층, 맨 오른쪽 줄을 출력층, 중간 줄을 은닉층이라고 한다. 은닉층의 뉴런은 (입력층이나 출력층과는 달리) 사람들의 눈에는 보이지 않는다. 아래의 신경망은 모두 3층으로 구성되지만, 가중치를 갖는 층은 2개 뿐이기 때문에. 2층 신경망 이라고 한다. 1-3. 활성화 함수의 등장 입력신호의 총합을 출력 신호로 변환하는 함수를 활성화 함수(activation function) 이라고 한다. "활성화" 라는 이름이 말해주듯이 활성화 함..
Perceptron (퍼셉트론) 1. Perceptron 이란? 퍼셉트론은 신경망의 기원이 되는 알고리즘으로 다수의 신호를 입력받아 하나의 신호를 출력한다. 퍼셉트론의 신호는 흐른다(1)/안흐른다(0) 의 두가지 값을 가질 수 있다. 위의 그림은 입력으로 2개의 신호를 받은 퍼셉트론의 예이다. $x_1$ 과 $x_2$ 는 입력신호, $y$ 는 출력 신호 $w_1$ 과 $w_2$ 는 가중치를 뜻한다. 그림의 원은 뉴런 혹은 노드 를 뜻한다. 입력 신호가 뉴런에 보내질 때는 각각 고유한 가중치 가 곱해진다. ($w_1x_1, w_2,x_2$) 뉴런에서 보내온 신호의 총합이 정해진 한계를 넘어설 때만 1을 출력한다. ( 이를 뉴런이 활성화 한다고 표현하기도 하며 $\theta$ 기호로 나타낸다.) 위의 내용을 수식으로 나타내면 다음과 같다...