Perceptron
- A perceptron is an algoritm for supervised learning of binary classifiers.
Biological
vs Artificial
Neural Networks
![](https://velog.velcdn.com/cloudflare/ssoyeong/ef87ae48-18dc-41ab-ab16-51642db530af/image.png)
- Binary Classifier를 위해 만들어진
ANN
-> Output은 0 or 1
- 만약 1이 나와야 하는데, 안나오면 error 만큼 back propagation 하여 W, b 값을 조정한다.
- 위 과정을 반복하면서 learning.
Artificial Neural Net
Example of ANN with single perceptron and without activation function
Graph
![](https://velog.velcdn.com/cloudflare/ssoyeong/7dcc3690-7bb7-4c63-baeb-dece09ab482f/image.png)
Equation
![](https://velog.velcdn.com/cloudflare/ssoyeong/5d8bce70-3dd2-4d76-84c1-6c51d8eaf7e7/image.png)
Matrix
(w 기준 Classifier가 1개)
![](https://velog.velcdn.com/cloudflare/ssoyeong/c8a8021f-ec3a-4119-af13-3f86ac99e4c2/image.png)
Matrix
with multiple inputs and perceptrons
(w 기준 Classifier가 2개)
![](https://velog.velcdn.com/cloudflare/ssoyeong/b022e620-f886-48c4-ac6a-272d42617eb0/image.png)
Graph
with multiple perceptrons
![](https://velog.velcdn.com/cloudflare/ssoyeong/1972fdeb-eb3e-411b-b323-8dab5a3f3eb8/image.png)
Process of the neural network
Input layer >> Hidden layer >> Output layer
- 각 input edge에는 perceptron의 파라미터인 W, b 값이 있다.
초기 W, b의 값은 랜덤하게 설정한다.
- Cost function을 통해 cost를 확인한다.
y값과 GT(Ground Truth; target variable)를 사용하여 MSE를 구하여
- Back propagation을 통해 parameter를 업데이트한다.
업데이트 기준: 에러 값을 미분한 만큼, 반대 방향으로
- stage 1으로 돌아가서 error가 threshold보다 작아질 때까지 반복한다.
Deep Learing
- Hidden layer가 많아지면,
Deep Learning
- Needs some additional materials.
One-hot encoding
- Set maximum propability to 1, others to zeros.
- 그러면 총합은 1이 된다. -> 확률
![](https://velog.velcdn.com/cloudflare/ssoyeong/cf81d69f-1665-45b5-b5e5-7d1a0e1e3969/image.png)
Softmax
Ground Truth (Target variable)
- Each value of GT is represent as
One-hot encoding
.
- Therefore, we should match the result of the network by representing in
probability
.
- To convert ouput values to
probability
, we use Softmax.
Softmax Example
- 각 y값에 -> e를 취하고 -> 총합이 1이 되도록 만든다.
![](https://velog.velcdn.com/cloudflare/ssoyeong/94f25475-601d-482f-8977-102fcf3a9533/image.png)
Cost Function
Cross Entropy
-
얼마나 확실하지 않은가를 확률로 표현
![](https://velog.velcdn.com/cloudflare/ssoyeong/e3494453-d993-4b0c-8658-d8b60e3c797e/image.png)
• Prediction : Q(x) = [0.3075 0.4057 0.2869]
• Ground truth : P(x) = [1 0 0]
• 𝐻(𝑃,𝑄) = − (1 × log 0.3075 + 0 × log 0.4057 + 0 × log 0.2869)
-
Cost function of the binary classification is a special case of cross-entropy.
Activation Functions
![](https://velog.velcdn.com/cloudflare/ssoyeong/f3d38444-4678-4a9b-b982-64bd0a8b9609/image.png)
- Activation function을 사용하지 않으면, multiple layers를 사용하더라도 only one layer를 사용한 것처럼 function이 linear하다.
- Multiple layers의 이점을 살리려면, function은 nonlinear해야 한다.
Why do we nedd Activation Functions?
- Activation functions allow Nonlinearities.
Problems of Sigmoid
- Vanishing gradient
- Sigmoid outputs are not zero-centered
- Expensive computation as using Exp()
Sigmoid
The wrong type of non-linearity
- Solution: ReLU 등장
📌 Note
- ANN 그래프
<->
방정식 & 행렬로 전환할 수 있어야 한다.
- Layers 이름 기억하기
- Cross entropy 계산 가능해야 한다.
- Activation function 사용 이유 기억하기