인공 신경망 구현에 관한 간단한 설명

23
원원 원원 : http://nlp.stanford.edu/~ socherr/sparseAutoencoder_2011new.pdf •원원원원 원원원 원 원원원 sparse autoencoder 원원원 원원원 원원

Upload: woonghee-lee

Post on 06-Jan-2017

5.323 views

Category:

Science


1 download

TRANSCRIPT

Page 1: 인공 신경망 구현에 관한 간단한 설명

• 원문 출처 : http://nlp.stanford.edu/~socherr/sparseAutoencoder_2011new.pdf

• 스탠포드 앤드류 응 교수의 sparse autoencoder 노트를 한글로 번역

Page 2: 인공 신경망 구현에 관한 간단한 설명

Introduction• Supervised learningEx) 우편번호 인식 , 음성 인식 , 자동 운전 차량 , 그리고 인간의 게놈 유전자 이해에도 도움한계 ) input feature 를 입력해주어야 함

• Unsupervised learning – Autoencoder분류 안된 데이터에서 특징을 자동으로 학습하는 알고리즘The best case 의 supervised learning 보다는 성능이 낮음Ex) 음성 , 문자 인식에 좋은 성능

Page 3: 인공 신경망 구현에 관한 간단한 설명

강의 노트 순서

• Supervised learning: 지도 학습에서 피드포워드 신경망(feedforward neural network) 과 역전파 알고리즘

• Unsupervised learning: 알고리즘 구축 . Sparse autoen-coder 구축

Page 4: 인공 신경망 구현에 관한 간단한 설명

인공 신경망

• Input

• Hypothesis

Page 5: 인공 신경망 구현에 관한 간단한 설명

뉴런 – 인공 신경망의 최소단위

• 입력값

• 출력값

• 활성함수 (sigmoid function)

Page 6: 인공 신경망 구현에 관한 간단한 설명

• 활성함수 (hyperbolic tangent)

Page 7: 인공 신경망 구현에 관한 간단한 설명

뉴럴 네트워크 (neural network)• 뉴럴 네트워크 : " 뉴런 " 을

여러개 묶어 연결 시킨 것

Page 8: 인공 신경망 구현에 관한 간단한 설명

뉴럴 네트워크 (neural network)• 용어• "+1" 이라고 표시된 원은 bias unit• 왼쪽 레이어의 나머지들은 input

layer( 입력층 )• 가장 오른쪽의 레이어는 output

layer( 출력층 )• 중간의 레이어는 hidden layer( 은닉

층 )• 이 뉴럴 네트워크는 3 개의 input

unit( 바이어스 유닛은 세지 않음 ) 가 있고 , 3 개의 hidden unit, 그리고 1개의 output unit

Page 9: 인공 신경망 구현에 관한 간단한 설명
Page 10: 인공 신경망 구현에 관한 간단한 설명
Page 11: 인공 신경망 구현에 관한 간단한 설명

뉴럴 네트워크의 계산 순서

• 네트워크의 출력을 계산하려면 , 모든 activation 을 계산

• 즉 레이어 를 계산하고 , 을 계산하고 , 까지

식 (6-7) 을 써서 완료

Page 12: 인공 신경망 구현에 관한 간단한 설명

Multilayer, multiple output• ex) 의료 처방

어플리케이션 . 입력벡터 x 는 환자의 증상 , 출력값 y 는 각 질병 유무

Page 13: 인공 신경망 구현에 관한 간단한 설명

Backpropagation algorithm• 입력 :• 비용함수 (cost function):

• 일반식 :

• 이 비용 함수는 분류 (classification) 에도 쓰이고 , 회귀(regression) 문제에도 쓰임

• Learning 은 batch gradient descent 함

Page 14: 인공 신경망 구현에 관한 간단한 설명

• Minimize:

• 컨벡스 함수가 아니므로 , 그레디언트 디센트 (gradient de-scent) 는 지역 최적화 (local optima) 에 빠질 수 있음• But 현실 문제에서는 잘 풀리는 편임• Symmetry breaking 을 위해 초기 파라미터는 랜덤값 필요

Page 15: 인공 신경망 구현에 관한 간단한 설명

• Minimize:

• 매 이터레이션에 W, b 갱신은

• 학습률 :

Page 16: 인공 신경망 구현에 관한 간단한 설명

• 식 (8) 을 편미분하면

Page 17: 인공 신경망 구현에 관한 간단한 설명

Backpropagation algorithm

Page 18: 인공 신경망 구현에 관한 간단한 설명

의사코드

Page 19: 인공 신경망 구현에 관한 간단한 설명

Autoencoder• 학습 데이터에 클래스가 없음

• Autoencoder 뉴럴 네트워크는 비지도 학습 알고리즘이고 , 역전파를 쓰며 , 타겟 값이 출력값

Page 20: 인공 신경망 구현에 관한 간단한 설명

• Average activation

이라고 할 때 , 목적식을 다음이라고하자 (rho 는 sparsity 파라미터 . 보통 0.05).

이를 푼 해 중 하나는

Page 21: 인공 신경망 구현에 관한 간단한 설명

• 앞의 해를 KL- 발산에 따라 다음과 같이 쓸 수 있음

이 때 는 KL- 발산 식 .

Page 22: 인공 신경망 구현에 관한 간단한 설명

비용함수 :

구현에서 달라지는 부분 ( 둘째 레이어 )

Page 23: 인공 신경망 구현에 관한 간단한 설명

Visualization• 10 X 10 사이즈 이미지• 활성함수