벡터(vector) : 1D행렬(Matrix) : 2D텐서(Tensor) : 3D 2D Tensor : |t| =(batch size,dim) 3D Tensor : |t| =(batch size,withth,height) : |t| =(batch
shape를 다시 만들어 준다.t=np.array(\[\[0,1,2,3,4,5,\[6,7,8,9,10,11]])ft=torch.FloatTensor(t)print(ft.shape)print(ft.view(-1,3)))print(ft.view(-1,3).shape)크기가
Hypothesis Function(Linear Regression)(가설 함수)H(x)=WX+b W=weight 하나의 matrix b=Bias 벡터인공신경망의 구조를 나타낸다. 주어진 input x에 대해 어떤 output y를 예측할지 알려주는 H(x)로 표시
❔Multivariate Linear Regression(다중 선형 회귀)x가 1개인 선형 회귀를 단순 선형 회귀(Simple Linear Regression)이라고 하고,다수의 x로 부터 y를 예측하는 것을 다중 선형 회귀(Multivariable Linear Reg
❔Logistic Regression회귀를 사용해 데이터가 어떤 범주에 속할 확률을 0에서 1사이의 값으로 예측하고, 그 확률에 따라 가능성이 더 높은 범주에 속하는 것으로 분류해주는 지도 학습 알고리즘이다.둘 중 하나를 결정하는 문제를 이진분류(Binary Class
기계학습 문제는 분류와 회귀로 나뉜다.일반적으로 분류에는 소프트맥스 함수를, 회귀에는 항등 함수를 사용한다. 컴퓨터로 계산할 때 결함이 있다. 오버플로우문제이다.소프트맥수 함수는 지수 함수를 사용하는데, 지수 함수란 것이 쉽게 아주 큰 값을 내뱉는다.가령 e¹⁰은 20
Maximum Kikelihood Estimation(MLX)(최대 가능도 추정)
MNIST dataset 이란손으로 쓰인 dataset을 말한다.예전에 우체국에서 편지를 받으면 우편 번호가 적혀있는데 이숫자들을 자동으로 인식하고 싶어서 만들어졌다.train set, test set으로 구성이 되어 있다.train set은 총 6만장의 이미지와 레이
Perceptron인공신경망이란? 동물의 신경계, 그중에서 특히 뇌에 있는 뉴런의 동작 방식을 본떠 만든 모델이다.Nuron인간의 뇌에서 신호를 서로 주고받는, 신호를 전달하는 역할을 수행한다.입력 신호들이 들어왔을 때, 신호의 크기가 어떤 특정값, threshold를
Multy Layer Perceptron(다중 퍼셉트론)Multy Layer Perceptron1개 이상의 층을 갖는 구조를 말한다.XOR문제를 해결하기 위해서는 Multy Layer Perceptron이 필요하다Backpropagation(오차역전파)출력값에 대한 입
Sigmoid Function(시그모이드 함수)신경망에서 자주 이용하는 활성화 함수인 Sigmoid Function을 나타낸 식이다.신경망에서 활성화 함수로 Sigmoid Function를 이용하여, 신호를 변경하고, 그 변환된 신호를 뉴런에 전달한다.다음은 Sigmo
Initialize는 '초기화 하다'라는 뜻이다.신경망은 처음에 Weight를 랜덤하게 초기화하고 Loss가 최소화되는 부분을 찾아간다.신경망은 어떻게 초기화하느냐에 따라 학습속도가 달라질 수 있는데,대표적인 초기화 기법으로는 Xavier Initialization,
Overfitting이란 신경망이 훈련 데이터에만 지나치게 적응되어 그 외의 데이터에는 제대로 대응하지 못하는 상태를 말한다. Overfitting은 주로 다음의 두가지 경우에 일어난다매게변수가 많고 표현력이 높은 모델훈련 데이터가 적음훈련데이터(train set)을
Batch Normalization(배치 정규화)
❔ Convolution(합성곱)합성곱 계층에서 합성곱 연산을 처리한다. 합성곱 연산은 이미지 처리에서 말하는 필터 연산에 해당한다.이미지 위에서 stride 값 만큼 filter(kernel)을 이동시키면서 겹치는 부분의 각 원소의 값을 곱해서 모두 더한 값을 출력으
1. 라이브러리 가져오기(torch, torchvision, matplotlib 같은 것들) 2. GPU 사용 설정하고, random value를 위한 seed 설정
👉 pip install visdom👉 python -m visdom.server위와 같이 선언한다.서버가 켜져 있어야 오류가 없이 실행된다.
VGG는 옥스포드 대학의 연구팀 VGG에 의해 개발된 모델이다.torchvision.models.vgg : 층의 갯수에 따라 11에서 19까지 갯수가 다양하다. 3X224x224 입력을 기준으로 만들도록 되어있다.3\*3 Conv size, stride 1, paddi
RNN은 sequential data를 잘 다루기 위해 도입되었다.sequential data는 data의 값 뿐만 아니라, data의 순서도 중요한 의미를 가지는 데이터를 말한다. 예를 들어,hello라는 단어는 h->e->l->l->o라는 순서가 단어의 의미를 형성
RNN(Recurrent Neural Network)의 'Recurrent'는 라틴어에서 온 말로, 몇 번이나 반복해서 일어나는 일을 뜻한다. 우리말로는 재발하다, 주기적으로 일어난다, 순환한다 등으로 번역된다. 그래서 RNN을 직역할 때 순환하는 신경망이 되는 것이다
'hihello'라는 문자열을 예측하는 모델을 만든다. 'h'가 들어오면 'i'를, 'i'가 들어오면 'h'를, ''h'가 들어오면 'e'를, 'e'가 들어오면 'l'을, 'l'이 들어오면 'l'을, 'l'이 들어오면 'o'를. 이렇게 문자가 들어오면 다음 문자를 예측
기존 'hihello'와 'charseq'예제에서는 문장 전체를 하나의 셈플로 보고 진행했었다. 하지만 정말 쓸모잇는 RNN을 만들려면 긴 문장의 dataset을 가지고 해야될 것이다. 하지만 아주 긴 문장을 하나의 input으로 사용할 수 없다. 그래서 이번 long
일정한 시간 간격으로 배치된 data를 시계열 data라고 한다. 보통 주가 data가 대표적인 시계열 data라고 할 수 있다. 위의 사진은 구글 주식의 일별 주가 데이터 이다.(Open = 시작가, High = 최고가, Low = 최저가, Volume = 거래량,
2개의 RNN을 사용하는 seq2seq라는 방법을 살펴보고자 한다.seq2seq를 Encoder-Deccoder 모델이라고도 한다.Encoder는 입력 데이터를 인코딩(부호화)하고,Decoder는 인코딩된 데이터를 디코딩(복호화)한다.위의 그림처럼 Encoder가 "나
길이가 각각 다른 Sequence data를 하나의 batch로 묶는 2가지 방법으로 padding 방법과 packing방법이 있다. 먼저 Sequence data에는 자연어 처리NLP에서 많이 쓰이는 text data와 audio data가 있다. text data의