-
[9주차 - Day1] 신경망 기초교육/프로그래머스 인공지능 데브코스 2021. 6. 23. 14:14728x90
Deep Learning: 신경망의 기초 - 다층퍼셉트론
인공신경망 : 오래된 기계 학습 모델
퍼셉트론(인공두뇌학, cybernetics)->다층 퍼셉트론(결합설, connectionism)->깊은 인공신경망(심층학습, deep learning)
1. 신경망의 기초
1.1. 인공신경망과 생물신경망
사람의 신경망의 핵심적인 단위 : 뉴런(neuron)->두뇌의 가장 작은 정보처리 단위
뉴런의 구조 : 연산+수신+전송
뇌의 정보처리(뉴런의 동작)를 모방하여 지능적 행위를 할 수 있는 인공지능(인공 신경망)을 도전->퍼셉트론 고안
1.2. 신경망의 종류
2. 퍼셉트론
퍼셉트론의 구조 : 절(node), 가중치(weight), 층(layer)
제시된 퍼셉트론 구조의 학습 알고리즘 제안
2.1. 구조
입력->연산->출력
항상 1이 입력되는 편향(bias)노드가 입력층에 포함이 되는데 그 이유는 입력값(x)*연산(w), 벡터의 내적을 통해 하나의 스칼라값이 나오게 되는데 이 스칼라값이 임계값에 의해 크다 작다가 결정이 되는데 이걸 통해 결정면이 생성됨 임계값이 0에 있으면 편리하니까 0으로 옮기고 싶은데 이걸 해주는 게 bias wx+b를 생각하면 편함
2.2. 동작
선형 연산(입력(특징)값과 가중치를 곱하고 모두 더해 s를 구함)->비선형 연산(활성함수 적용)
ex)2차원 특징 벡터로 표현되는 샘플을 4개 가진 훈련집합 X={x1, x2, x3, x4}, Y={y1,y2,y3,y4}를 생각하자
->모든 샘플을 제대로 분류한 것을 알 수 있음 즉, 이 퍼셉트론은 훈련집합을 100%성능으로 분류!
행렬 표기(matrix vector notation)
ex)의 퍼셉트론에 해당하는 결정직선->특징 공간을 두 부분공간으로 이분할하는 분류기 역할을 함
2.3. 학습
w가 어떤 값을 가져야 옳게 분류할까?
일반적인 분류기의 학습 과정
- 과업의 정의와 분류과정의 수학적 정의(가설 설정)
- 해당 분류기의 목적함수 J(θ) 정의
- J(θ)를 최소화하는 θ를 찾기 위한 최적화 방법 수행
1. 단계1+단계2 : 목적함수 J(θ)정의퍼셉트론의 매개변수를 W라 표기하면 매개변수 집합은 θ={W}로 표기, 목적함수를 J(θ) 또는 J(W)로 표기퍼셉트론 목적함수의 상세 조건
- J(W)>=0
- W가 최적이면 즉, 모든 샘플을 맞히면 J(W)=0
- 틀리는 샘플이 많은 W일수록 J(W)는 큰 값을 가짐
2. 목적함수 상세 설계
위 식이 퍼셉트론의 목적함수라고 가정해보고 퍼셉트론 목적함수의 상세 조건을 만족하는 지 살펴보자
- J(W)>=0? 임의의 샘플이 Y에 속한다면 퍼셉트론의 예측값과 실제값은 부호가 다르므로 목적함수는 항상 양수
- W가 최적이면 즉, 모든 샘플을 맞히면 J(W)=0? Y가 공집합일때(모든 샘플을 맞췄을 때), J(W)=0
- 틀리는 샘플이 많은 W일수록 J(W)는 큰 값을 가짐? Y가 클수록(틀린 샘플이 많을수록), J(W)는 큰 값을 가짐
3. 단계3 : 경사 하강법(gradient descent)
최소 J(θ) 기울기를 이용하여 반복 탐색하여 극값을 찾음
퍼셉트론 목적함수에 경사 하강법을 적용하려고 함
그러려면 경사도를 계산해야함
일반화된 가중치 갱신 규칙 θ=θ(현재의 가중치)-ρ(학습률)g(경사)를 적용하기 전 경사도 g부터 계산
ρ(학습률, learning rate)의 중요성
- 학습률이 너무 크면 진동함
- 학습률이 너무 작으면 정확한 값을 가질 수 있으나 오래 걸림
퍼셉트론 학습 알고리즘(확률론적(stochastic)형태) : 샘플 순서를 섞고 틀린 샘플이 발생하면 즉시 갱신
퍼셉트론 학습 알고리즘(무리(batch)형태) : 훈련집합의 샘플을 모두 맞출 때까지(Y가 공집합이 될 때까지) 세대(epoch) 반복(3~9번째 줄)
Deep Learning: 신경망의 기초 - 실습II PT-TF 기본연산
'교육 > 프로그래머스 인공지능 데브코스' 카테고리의 다른 글
[9주차 - Day3] Deep Learning 기초 (0) 2021.07.01 [9주차 - Day2] Multilayer Perceptron (0) 2021.06.24 [8주차 - Day4] 기계학습과 수학 리뷰 (0) 2021.06.18 [8주차 - Day3] 인공지능과 기계학습 소개 (0) 2021.06.17 week6~week8 day2 (0) 2021.06.15