[Deep Learning] Activation function(활성화함수)이란?
·
AI Study/DL_Basic
인공신경망을 배우다 보면 딥러닝 아키텍쳐에서 activation function(활성화함수)이 들어있는 것을 볼 수 있다. 처음에는 sigmoid function이 있고, 그 뒤에는 relu 등으로 다양한 activation function이 있는 것을 보게 되는데, 정작 이 활성화함수가 뭐고, 왜 필요한지에 대해서는 모르는 경우가 있다. 나 또한 그냥 넘어갈 뻔 했으나, 복잡한 아키텍쳐로 접어들면서 레이어마다 activation function이 왜 필요한지에 대해 궁금해졌고, 그 때문에 아래와 같은 포스팅을 하게 되었다. 1. Activation Function이 무엇인가? 간단히 말하면, 활성화함수는 데이터 내에에서 네트워크가 복잡한 패턴을 학습할 수 있도록 인공신경망에 추가되는 함수다. 단일 퍼셉..
[파이토치로 시작하는 딥러닝 기초]10.2_visdom
·
AI Study/DL_Basic
visdom이란? 데이터 시각화를 window창으로 보여주는 package visdom 설치 !pip install visdom !python -m visdom.server 위 코드를 실행하면 http://localhost:8097/ 에 visdom 화면이 생성된다. 실습 import torch import torch.nn as nn import torchvision import torchvision.datasets as dsets import visdom import visdom vis = visdom.Visdom() Text vis.text("Hello. world", env = "main") ## env = main이라는 환경에 창을 띄움 image a = torch.randn(3,200,200) ..
[파이토치로 시작하는 딥러닝 기초]10.1_Convolutional Neural Network
·
AI Study/DL_Basic
10. Convolution Neural Network 10.1 Convolution Convolution? Neuron과 Convolution Pooling Convolution이란? 이미지위에서 stride값 만큼 filter(kernel)을 이동시키면서 겹쳐지는 부분의 각 원소의 값을 곱해서 모두 더한 값을 출력으로 하는 연산 Stride and Padding stride : filter를 한번에 얼마나 이동할 것인가 padding : zero-padding (input 이미지의 상하좌우에 0의 띠가 둘러진다) Python nn.Conv2d 입력의 형태 input type: torch.Tensor 타입 input shape : (N * C * H * W) => (batch_size, channel,..
[파이토치로 시작하는 딥러닝 기초]06_Softmax Classification
·
AI Study/DL_Basic
Softmax Classification softmax Cross Entropy Low-level Implementation High-level Implementation Traing Example Discrete Probability Distribution(이산확률분포) Discrete Probability Distribution이란, 이산적인 확률 분포를 이른다. ex) 주사위를 돌려서 나오는 숫자의 값에 대한 확률 분포 이산 값에 대한 확률이 정확하게 나오며, 연속형 확률분포와 달리 x 값이 정수값으로 떨어져 있다. Softmax Convert numbers to probabilitis with softmax $${P(class = i) = \frac{e^i}{\sum e^i}}$$ pytorch ..
[파이토치로 시작하는 딥러닝 기초]04.02_Loading Data
·
AI Study/DL_Basic
Loading Data Minibatch Gradient Descent 이론 Pytorch Dataset and Data Loader 사용법 Data in the Real World 복잡한 머신러닝 모델을 학습하려면 엄청난 양의 데이터가 필요하다 대부분 데이터셋은 적어도 수십만개의 데이터를 제공한다. 엄청난 양의 데이터를 한번에 학습시킬 수 없다. 이유는? 너무 느리고 하드웨어적으로 불가능하기 때문 그렇다면 일부분의 데이터로만 학습하면 어떨까? Minibatch Gradient Descent 전체 데이터를 작은 Minibatch라는 작은 양으로 균일하게 나누어서 minibatch 하나씩 학습하는 방법 그러면 컴퓨터가 dataset의 모든 데이터의 cost를 다 계산한 후 gradient descent를 ..
[파이토치로 시작하는 딥러닝 기초]04.01_Multivariable_Linear_regression
·
AI Study/DL_Basic
4. Multivariable Linear regression(다항회귀분석) Simple Linear REgression 복습 Multivariate Linear Regression 이론 Naive Data Representation Matrix Data Representation Multivariate Linear Regression nn.Module 소개 F.mse_loss 소개 Simple Linear Regrssion? 하나의 정보로부터 하나의 결론을 짓는 모델 ${H(x) = Wx + b}$ 그러나 우리가 더 다양한 정보를 가지고 다양한 예측을 하기위해서는 단항선형회귀분석으로는 어렵다! Multivariate Linear Regression 복수의 정보가 존재할 떄 하나의 추측값을 계산하는 것 ..
[파이토치로 시작하는 딥러닝 기초]03_Deeper Look at Gradient Descent
·
AI Study/DL_Basic
Deeper Look at Gradient Descent Hypothesis function Cost function 이해 Gradient descent 이론 Gradient descent 구현 Gradient descent 구현(nn.optiom) Hypothesis (Linear Regression) Hypothesis function은 인공신경망의 구조를 나타내는데 주어진 input에 대해 어떤 output을 나타내는지 𝐻(𝑥)H(x)로 표현한다. $${H(x) = Wx + b}$$ ${W}$ : Weight ${b}$ : bias What is the best model? Cost function 모델 예측값이 실제 데이터와 얼마나 다른지 나타내는 값 잘 학습된 모델일수록 낮은 cost를 가진다...
머신러닝과 데이터 분석 A-Z 올인원 패키지 - 데이터 분석을 위한 Python(Pandas) – (3)
·
AI Study/ML_Basic
* 위 강의노트는 패스트캠퍼스에서 주관하는 강의를 수강하고 작성한 노트입니다. 1. DataFrame group by 이해하기¶ In [1]: import pandas as pd import numpy as np group by¶ 아래의 세 단계를 적용하여 데이터를 그룹화(groupping) (SQL의 group by 와 개념적으로는 동일, 사용법은 유사) 데이터 분할 operation 적용 데이터 병합 In [21]: # data 출처: https://www.kaggle.com/hesh97/titanicdataset-traincsv/data df = pd.read_csv('./train.csv') df.head() Out[21]: PassengerId Survived Pclass Name Sex Age..