일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Bottleneck Layer
- Vanilla RNN
- Inception V1
- jupyter
- DCGAN
- vim-plug
- Generative
- Residual Connection
- ResNet
- DL
- python
- GCN
- Skip Connectioin
- Regression
- Skip Connection
- RNN
- Linear
- Optimizer
- Inception Module
- iTerm2
- AI
- Gated Skip Connection
- cnn
- classification
- virtualenv
- version
- Peephole Connection
- GoogLeNet
- Manager
- sigmoid
- Today
- Total
목록분류 전체보기 (51)
IT Repository
What is Backpropagation?¶ Backpropagation은 MLP의 훈련을 가능하게 할 수 있는 파라미터 업데이트 방식입니다. 아래의 Backpropagation이 진행되는 순서를 통해 전체적인 과정을 살펴봅시다. 가장 마지막 뉴런의 Gradient를 계산 그 Gradient를 바탕으로 바로 이전 뉴런의 Gradient를 계산 다시 그 Gradient를 바탕으로 바로 이전 뉴런의 Gradient를 계산 이를 반복하면 가장 마지막 뉴런에서부터 가장 처음의 뉴런까지 모든 뉴런의 파라미터를 업데이트하게 됩니다. (뉴런을 Deep Learning 분야의 컴퓨터 공학적 표현으로는 "노드" 라고 합니다.) Gradient Calculation for MLP¶ MLP는 수많은 노드들이 연결되어 복잡..
Structure of Neuron¶ img src = https://s3-us-west-2.amazonaws.com/ 1. Dendrite에서 다른 뉴런들로부터 전기신호를 받음 2. 신호들을 조합하여 처리 3. Axon terminal에서 다른 Neuron으로 넘겨줌 Neural Network: Mathematical Model of Neuron¶ 아래는 위의 Neuron의 구조를 수학적으로 모델링한 것입니다. $\array{\textbf{axon from a neuron} && \textbf{synapse} &&\textbf{dendrite} \\ x_0 & \rightarrow & w_0 & \rightarrow & w_0x_0 \\ &&&& w_1x_1 \\ &&&& w_2x_2} \Rightar..
Thinking of Decision Boundary¶ 이전 학습시간에 따른 Pass/Fail 문제는 "학습시간" 이라는 하나의 feature를 통해 Pass 또는 Fail로 Binary Classification을 하는 경우였습니다. 이번에는 2개의 feature를 생각해보겠습니다. 두 번의 시험성적을 통해 Pass/Fail을 분류하는 문제를 가정해 봅시다. In [269]: import numpy as np import matplotlib.pyplot as plt x1 = np.random.randint(0, 50, 20) x2 = np.random.randint(0, 50, 20) passed = 50=(x1+x2) plt.figure(figsize=(16, 4)) ax1 = plt.subplot(..
Classification¶ Regression과 마찬가지로 데이터 x를 넣었을 때, y가 출력으로 나오는 문제입니다. 다만 출력으로 나오게 되는 y가 Discrete한 space를 가지고 있다는게 차이점입니다. 개와 고양이의 분류, 점수에 따른 학점의 분류, 소비 패턴에 따른 성별예측과 같은 것이 Classification의 예 입니다. Linear Regression의 Hypothesis를 사용한다면?¶ In [199]: import numpy as np import matplotlib.pyplot as plt hour = np.arange(1, 11).astype(int) hour = np.concatenate([hour, np.array([20])]) label = np.zeros(11).asty..
Multi-variable Linear Regression¶ 지금까지는 파라미터가 1개인 Linear regression을 했습니다. 하지만 앞서 말한바와 같이 딥러닝 모델의 파라미터는 적어도 수천개 이상을 갖습니다. 이렇게 여러 개의 파라미터를 가진 Linear regression에 대해서 알아봅니다. 아래는 bias를 포함한 4개의 파라미터를 가진 Linear regression의 식입니다. $H(x_1, x_2, x_3) = w_1x_1 + w_2x_2 + w_3x_3 + b$ 벡터의 내적을 사용하여 계산하면 아래와 같이 표현할 수 있습니다. $\begin{eqnarray} H(x_1, x_2, x_3) &=& XW + b \\ &=& \begin{pmatrix}x_1 & x_2 & x_3\end{..
How to minimize cost¶ (손실을 나타내는 loss와 cost는 서로 동일한 의미로 사용됩니다.) 아래부터는 조금 수식이 복잡해 질 수 있으므로 편의상 b=0인 경우로 수식을 간략화하겠습니다. $H(x) = wx \\ cost(w) = \dfrac{1}{m} \displaystyle \sum_{i=1}^{m} \big( wx^{(i)} - y^{(i)} \big)^2$ 그러면 이제 모델이 얼마나 좋은지 나쁜지에 대해서는 계산할 수 있는데, 어떻게 가장 좋은 모델을 찾아낼 수 있을까요? 우선 가능한 w에 대해서 모두 대입해보는 것이 가능할 것입니다. 이와 같이 파라미터(w)가 1개인 경우에는 가능할 수도 있지만, 파라미터가 20만개 이상되는 일반적인 DL 모델에서는 거의 불가능할 것입니다. ..
Loss Function¶ 손실함수는 최적의 $H(x)$를 찾기 위해서, w와 b에 따른 $H(x)$값과 실제 y값과의 차이를 계산합니다. x와 y는 이미 정해져있고 w와 b의 값에 따라서 손실이 변화하므로 아래와 같이 수식으로 표현할 수 있습니다. $L(w, b) = H(x) - y$ $H(x)$를 통해 나오는 값은 설정된 w와 b에 따라 모델이 예측하는 예측값입니다. 만약 예측값과 실제값이 비슷하다면 손실함수의 값은 작아지고 차이가 크다면 손실함수의 값이 (절대값이) 커질 것입니다. 실제로는 제곱(MSE)이나 절대값(MAE)을 사용하여 계산합니다. $L(w, b) = \big( H(x) - y \big)^2$ 이와 같이 손실함수를 정의하고, 손실함수에 모든 데이터를 대입하여 모델의 전체 손실을 계산합..
Linear Regression¶ Regression은 데이터 x를 인풋으로 넣었을 때, Continuous한 값 y가 출력으로 나오는 문제를 의미합니다. 이러한 Regression 작업을 할 때 선형 함수를 사용하기 때문에, Linear Regression 이라는 이름을 붙입니다. Thinking of Linear Regression¶ (1) 사원 수에 따른 회사의 시총의 가격을 예측하고자 합니다. 사원 수가 100명 일때 1000억, 200명 일때 2000억 원이었습니다. 그러면 사원 수가 300명이라면 회사의 시가 총액은 얼마일까요? (2) 인근 역과의 거리에 따라 집값이 어떻게 변하는지를 예측하고자 합니다. 1km 떨어졌을 때 8억, 2km 떨어졌을 때에는 6억, 3km 떨어졌을 때에는 4억이었습..