일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- albert
- 직장인인강
- 패캠챌린지
- 직장인자기계발
- AI
- 한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지
- 한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online
- 패스트캠퍼스
- 알버트
- 한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online.
- 패스트캠퍼스후기
- 한번에끝내는Java/Spring웹개발마스터초격차패키지
- SKT
- R
- Today
- Total
제주 탈출 일지
인공지능 이론(3주차) - 신경망 학습 이론 Ⅰ 본문
인공신경망(人工神經網, 영어: artificial neural network, ANN)은 기계학습과 인지과학에서 생물학의 신경망(동물의 중추신경계중 특히 뇌)에서 영감을 얻은 통계학적 학습 알고리즘이다.
- 위키피디아
인공신경망 개요
딥러닝에서의 인공신경망은 그림과 같은 요소들로 되어 있다!
데이터를 입력(input)에 넣게 되면 어떤 가중치를 곱하여 모두 더하고, 그 값을 활성화 함수에 넣게 된다. 활성화 함수에서 나온 출력이 Output으로 나오고 있는 것을 볼 수 있다. 인공신경망은 이 노드를 하나의 층이라고 부른다.
다음 그림에서 입력층은 단순히 데이터를 넣는 것을 입력층이라고 표현한 것이기 때문에, 히든레이어 2층 그리고 출력층으로 이루어진 3층 신경망이다. 입력층부터 시작해서 화살표들이 뻗어나가고, 출력층까지 도달하는 것을 볼 수 있다. 이 화살표 각각이 가중치 w들이고, 이 가중치 * 입력 값(정확히는 + bias)이 다음 노드에 전해진다고 할 수 있다.
활성화 함수
입력 신호의 총합을 출력 신호로 변환하는 함수. 네트워크에 비선형성을 추가하기 위해 사용한다.
- 선형함수를 이용하면 신경망의 층을 깊게 하는 의미가 없어진다!
활성화 함수로 사용하는 함수1 - 시그모이드
시그모이드는 S자 모양 함수이다. 입력이 작다면 출력은 0에 가깝고, 입력이 커지면 출력은 1에 가까워 진다. 이 함수는 기울기 소멸 문제와 지수함수로 계산이 복잡하기 때문에 활성화 함수로는 현재 거의 사용하지 않는다.
활성화 함수로 사용하는 함수2 - ReLU
입력이 0을 넘으면 그 입력을 그대로 출력하고, 0이하이면 0을 출력한다. 최근 신경망에서 가장 많이 쓰이는 활성화 함수이고, 계산이 매우 효율적이다.
신경망 표현
다음 그림을 보면 가중치를 읽는 방법이 나와있다. 어느 뉴런에서 시작되어 어느 뉴런으로 향하는 가, 그리고 어느 층에 속해 있는 가를 적어주는 표기 방법이다.
다음 그림에서 1층 첫번쨰 노드는 A = XW + B로 정의할 수 있다. 여기서 b는 bias 값인데, 활성화 함수의 출력을 원하는 형태로 만들기 위해 더해주게 된다. 다음 링크를 참고하자.
인공신경망에서 바이어스(Bias)의 역할
바이어스는 학습에 중요한 역할을 한다. 바이어스를 통해 액티베이션 함수를 좌우로 움직일 수 있어, 더욱 좋은 학습을 시킬 수 있다. 바이어스가 없는 간단한 예를 보자. 하나의 입력(x)에 가중
chanhyeonglee.tistory.com
출력층 설계
일반적으로 인공신경망을 활용하면 분류에 대한 문제를 해결하게 된다. 여기서 2개의 클래스로 분류하는 문제는 시그모이드, 다중 클래스는 소프트맥스 함수를 사용하게 된다.
소프트맥스 함수
소프트맥스의 함수 출력은 0에서 1.0 사이 실수이다. 소프트맥스 함수의 출력 총합은 1이다. 이를 통해 소프트맥스 함수의 출력을 확률로 해석 가능하다. 정확한 설명은 다음 링크를 참고하면 좋을 것 같다.
[ML]Softmax 소프트맥스 함수
소프트맥스란?
medium.com
위와 같은 손글씨를 판별하고 싶을 때, 숫자는 0-9까지 이므로 10개의 출력층이 필요하고, 소프트맥스 함수를 적용하여 각 출력 노드마다 0에서 1.0사이의 값을 얻게 된다. 이 중 가장 값이 큰 노드의 값이 확률이 가장 높다고 할 수 있다.
'인공지능' 카테고리의 다른 글
인공지능 이론(7주차) - 학습 관련 기술 Ⅱ (0) | 2020.11.07 |
---|---|
인공지능 이론(4주차) - 신경망 학습 이론 Ⅱ (0) | 2020.11.07 |
인공지능 이론(2주차) - 머신러닝과 딥러닝 (0) | 2020.11.07 |
인공지능 실습(6주차) - 모델을 구성하고 학습하기 1 (0) | 2020.10.10 |
인공지능 이론(6주차) - 학습 관련 기술 1 (0) | 2020.10.09 |