일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- React #리액트 #component #life cycle
- C# #Framework #.NET
- 실수 #성질 #정리 #체 #Field #공리
- 라디안 #호도법 #각도 #기하 #고등수학 #수학
- 아르키메데스 #Archimedean Property #해석학 #Analysis
- span #generate
- 데이터베이스 #키 #key #슈퍼키 #super key #외래키 #foreign key #후보키 #candidate key #기본키 #primary key
- Database #DBMS
- React #Hooks
- 해석학 #유계 #상계 #하계 #집합
- 프로토콜 #네트워크 #통신 #컴퓨터
- chatGPT #openAI #인공지능 #chatGPT4
- 선형대수학 #벡터공간 #벡터 #수학
- chatgpt api
- 데이터베이스 #제약조건
- C# #unity #유니티
- AI #math #function
- 기하와 벡터 #직선 #직선의 방정식 #벡터 #방향벡터
- subspace #부분공간 #선형대수학
- chatgpt # chatgpt api
- 리액트 #React #컴포넌트 #component
- 수학 #공리 #정의 #정리 #명제
- 삼각함수 #sin #cos #tan
- OSI #OSI 7계층 #컴퓨터 네트워크
- 일차종속 #일차독립 #선형대수학 #벡터공간
- 딥러닝 #퍼셉트론 #perceptron #신경망 #neural network
- 유클리드 기하학 #유클리드 공준 #기하학 #중등 기하 #평면 기하
- 해석학 #상한 #하한 #최댓값 #최솟값
- raspberrypi #라즈베리파이4 #ssh
- 완비성공리 #실수
- Today
- Total
기록하고 기록하면 어떻게 될까
[deep learning] 퍼셉트론 Perceptron 이란? 본문
퍼셉트론에 대한 소개
퍼셉트론은 1950년대 Frank Rosenblatt에 의해 고안되었다. 이 형태는 인공 신경망으로서 간단하게 말하면 다수의 입력으로부터 하나의 결과를 내는 알고리즘이다.
사실 이러한 구조는 실제 인간의 뇌의 신경 세포인 뉴런의 동작에서 영감을 얻은 것인데 시냅스의 결합으로 네트워크를 형성한 인공 뉴런이 학습을 통해 시냅스의 결합 세기를 변화시켜 이를 통해 문제를 해결하는 것을 의미한다.
퍼셉트론 의 구조
그림과 같이 인풋으로 $x_1,x_2,x_3$를 넣고 이에 따른 출력값을 하나 구하는 구조이다.
단일 퍼셉트론은 여러 개의 인풋 데이터를 받으며 그에 대한 출력 값을 하나 내놓는다. 여기서 Rosenblatt는 가중치 weight이라는 것을 둬서 각각의 인풋의 중요도에 따라 가중치를 다르게 두면서 출력값을 계산하도록 고안하였다.
퍼셉트론의 동작 : 활성함수 Activation Function 의 도입
가장 간단한 모델은 출력 값을 0과 1 이진 결과로 둘 때 가중합 $\sum_j w_jx_j$ 값이 특정 임계치 Threshold보다 큰 지 작은지에 따라 그 값을 다르게 하였다. 보통 임계치보다 크면 1로 두고 작으면 0으로 한다.
여기서 임계치 값을 좌변으로 이항시키면 우변을 0으로 하여 더 깔끔한 식 구조를 얻는다. 이때 이 $b$ 값을 바이어스 bias 라고 한다.
활성함수의 종류
앞에서 기초적으로 다룬 활성함수는 출력 값을 이진 형태 0과 1로만 가지는 계단 함수이다. 하지만 실제 학습을 할 때 사용하는 활성함수들은 더 복잡하다. 아래는 사용되는 활성함수들을 보여준다.
신경망의 학습
목적함수 Objective Function = 손실함수 Loss Function = 비용 함수 Cost Function
이렇게 고안한 모델이 제대로 학습한다는 것은 수학적으로 어떤 의미일까? 제대로 학습했다면 주어진 인풋에 대해서 올바른 출력값을 냈다는 뜻이고 이는 실제 나와야 하는 출력값 $y(x)$ 와 우리가 학습한 모델이 내놓은 출력값 $a$ 에 대해서 $y(x) = a $가 성립해야한다는 뜻이다.
하지만 이는 쉽지 않으니 대부분의 경우 두 값이 일치하지 않을 것이고 그로인해 오차 값 $|y(x)-a|$가 생긴다. 그러면 우리는 각각의 인풋 $x$에 대해 이 오차 값들을 제곱하여 더한 함수를 생각해볼 수 있고 이 함수를 우리는 목적함수 objective function, 손실 함수 loss function 그리고 비용 함수 cost function 이라고 부른다.
이 함수의 형태는 아래와 같다. (이 글에서는 비용함수라고 하겠다). 비용함수는 흔히 평균제곱오차 $Mean Squared Error$ : $MSE$ 라고 하는 제곱함수이다.
이제 이 비용함수를 분석해보자.
우선 $C(w,b)$는 0보다 작을 수 없다. 제곱 항들의 합으로 출력 값이 나오기 때문이다. 따라서 $C(w,b) \ge 0$이다.
$C(w,b)$ 값이 0에 가까워진다고 생각해보자. 이는 무슨 의미일까? 각각의 더해지는 항들이 0에 가깝다는 뜻이고 결국 각각의 활성함수 값이 실제 나와야하는 출력값과 거의 동일하다는 뜻이다.
그래서 $C(w,b)$ 값이 0이 되면 이는 완벽하게 실제 값을 예측하는 모델을 만들어 냈다는 것을 의미한다.
이번에는 반대로 $C(w,b)$ 값이 큰 양수 값을 가진다고 생각해보자. 이 때는 실제 나와야할 출력 값 $y(x)$와 모델에서 예측한 값 $a$ 사이 오차가 크다는 것이므로 현재 모델이 좋지 않다는 것을 의미한다.
그래서 결론은 다음과 같다.
실제 신경망의 학습은 매개변수 벡터들을 수정하는 작업이고 이는 수학적으로 볼 때 정의된 목적함수 값을 0으로 만드는 과정이라고 할 수 있다. 그렇게 목적함수 값이 0이 될 때 우리는 실제 나와야할 출력값을 우리의 모델을 통해 예측해내게 되는 것이다.
References
http://neuralnetworksanddeeplearning.com/chap1.html
Neural networks and deep learning
The human visual system is one of the wonders of the world. Consider the following sequence of handwritten digits: Most people effortlessly recognize those digits as 504192. That ease is deceptive. In each hemisphere of our brain, humans have a primary vis
neuralnetworksanddeeplearning.com
https://heytech.tistory.com/332
[Deep Learning] 퍼셉트론(Perceptron) 개념 이해
본 포스팅에서는 인공신경망의 초기 형태이자 구성 요소인 퍼셉트론(Perceptron)의 개념에 대해 알아봅니다. 📚 목차 1. 퍼셉트론 개요 2. 생물학 뉴런의 역할과 동작과정 3. 퍼셉트론의 역할과 동
heytech.tistory.com