03. 순방향 신경망에 텐서플로 사용하기
김형욱
IVIS Lab, Changwon National University
순방향 신경망
• 순방향 신경망
순방향 신경망(Feed-forward neural network, ffnn) 첫번째 계층은 입력 신호, 마지막 계층은 출력 신호를 반환 근사와 추정에 매우 적합
네트워크의 구조를 결정할 때는 경험과 발견적 방법에 따름
네트워크가 많은 수의 은닉층으로 구성되면 과적합 문제가 발생 (over-fitting problem)
가중치와 바이어스
• 가중치 및 출력 함수는 개별 뉴런 및 네트워크의 동작을 결정
IVIS Lab, Changwon National University
전이 함수
• 입력 신호의 총합을 출력 신호로 변환하는 함수
• 입력 신호의 총합이 활성화를 일으키는지를 정하는 역할
• 시그모이드 함수(sigmoid function)
전이 함수
• 소프트맥스 함수(softmax function)
순방향 신경망의 마지막 단계에서 사용 신경망의 출력값을 확률값으로 처리
IVIS Lab, Changwon National University
텐서플로 모델의 저장 및 복구
• 모델 저장
모델을 저장하기 위하여 Saver() 클래스를 사용 이 클래스는 그래프 구조를 저장
softmax_mnist.ckpt : 가중치 정보를 갖고 있음
softmax_mnist.ckpt.meta : 그래프 정의에 관련된 정보를 갖 고 있음
5 층 신경망 구현
• 소프트맥스 층 앞에 4개의 층을 추가
• 앞의 4개 층에 대한 전이 함수는 시그모이드 함수
• 마지막 계층의 전이 함수는 소프트맥스 함수
계층 뉴런 수 활성화 함수
First
L = 200 시그모이드
Second
M = 100 시그모이드
Third
N = 60 시그모이드
IVIS Lab, Changwon National University
드롭아웃 최적화
• 다음 계층과 연결할 뉴런 수에 제한을 둠으로써 업데이트 대상 가 중치를 줄이는 학습 최적화 기법
• 많은 계층 및 뉴런을 갖고 있는 네트워크에서 과적합을 방지하기 위해 사용하는 기술
• 뉴런에 대한 활성화를 0으로 설정할 확률은 0과 1 사이의 값을 통 해 계층 내에 드롭아웃 비율 파라미터로 표시
• 뉴런이 다른 뉴런의 존재에 영향을 받을 가능성을 축소
드롭아웃 최적화
IVIS Lab, Changwon National University