일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 파이썬
- 불리안
- false
- Java Script # == # === # difference # 차이
- 합집합
- 변수
- 변수와 입출력
- 리스트와 차이점
- pop()
- 귀도 반 로섬
- input()
- 변할 수 있는
- 차집합
- 입출력
- index()
- 성적 입력받기
- append()
- html
- 부스트캠프
- a=1
- Python
- 딥러닝
- 1일차
- null # undefined
- 정보를 담을 수 있는 그릇
- 조건문 큰 수부터 입력받아야하는 이유
- insert()
- del()
- 조지 불
- 그룹 # 그룹 해체 # 단축키 #figma #Figma
- Today
- Total
I about me
[Deep learning] Perceptron 본문
Perceptron
프랭크 로젠블랫(Frank Rosenblatt)은 기계가 학습을 통해 데이터를 분류하고 패턴을 인식할 수 있는 것을 만들었다.
그는 이 원리를 인식, 감지 등의 의미를 가진 영어 단어 Perception에서 따서 퍼셉트론(Perceptron)이라고 했다.
그리하여 퍼셉트론은 인공지능의 기초를 이루는 모델이다.
참고로, 인공지능은 인간의 지능, 즉, 뇌를 모방하기 위한 학문이다.
또한 인간의 뇌는 수십억 개의 뉴런으로 구성된 복잡한 기관이다.
뉴런이 수상돌기(Dendrite) 로부터 다른 뉴런의 신호를 받아 축삭(Axon)이 다른 뉴런에 정보를 전달하듯,
인공지능은 기계의 입력으로부터 정보를 받아 결과를 내게 하는 것이다.
어쨌든, 구체적으로 퍼셈트론은 입력 데이터를 받아들이고 가중치를 적용한 후 sign 함수를 통해 출력 값을 생성한다.
예를 들어,
1 + 3x_1 + 2x_2 → g(1 + 3x_1 + 2x_2) → x_1 = -1, x_2 = 2를 대입할 때
음수가 되는 것을 확인할 수 있으며
x의 계수 3, -2가 표하는 벡터의 방향에 따라 음수와 양수로의 경계선을 만들 수 있다.
근데 그런 퍼셉트론에 큰 단점이 있다.
XOR 문제점
- Not linearly separable // 선형적으로 분류가 되지 않으며,
- Limitation of linear classifier // 선형 분류기는 확실히 제한적이다!
자, 이게 무슨 말인지 천천히 공부해보자
먼저, XOR이란, 같으면 0, 다르면 1이라는 의미이다.
Boolean | AND | OR | XOR | |
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
그리고 이거를 그래프로 표현해보면, 다음과 같다.
어때요? Linear 하나 해서 분류되나요? → 아니요
그럼 어떻게 해야되나요?
① 비선형 Boundary를 그린다.
② 선형으로 여러 개 그린다.
자 여기서 우리는 어떤 교훈을 얻을 수 있나요?
- Single neuron = one linear classification boundary
// 맨 위 첫번째 예시처럼 단일 뉴런이 단순한 선형 분류 문제를 해결할 수 있지만,
// 뭔가 복잡한 비선형 문제를 해결하려면 다층 신경망과 같은 더 복잡한 구조가 필요
Multi-layer Perceptron
그러나, 이제 위와 같이 0과 1로만 출력하는 단순한 선형 모델에서 벗어나,
더 복잡한 문제를 해결할 수 있도록 만들고 싶은데?
= 복잡하려면? 함수가 2차, 3차... n차 느낌
= 이런 느낌은 비선형하다는 것(아래의 그림에 영감)
= 비선형은? 미분의 가능
그리하여, 활성화 함수의 도입 (아래의 normal한 sigmoid 함수 등장)
그리하여 짜잔
결론 Multi-layer perceptron은
'AI > Deep Learning' 카테고리의 다른 글
[Deep learning] DP → Backpropagation (0) | 2024.06.25 |
---|---|
[Deep learning] Overfitting (0) | 2024.05.30 |
[Deep learning] Machine Learning (0) | 2024.05.30 |
[Deep learning] Gradient Descent (0) | 2024.05.22 |
[Deep learning] Optimization (0) | 2024.05.02 |