본문 바로가기

PyTorch6

25 - Deep Neural Nets 구현하기 저번 시간까지 다층 퍼셉트론(Multi-Layer Perceptron, MLP)을 이용하여 학습을 시켜보았다. 정의에 대해 조금 더 이야기를 해 보자면 일반적으로 MLP는 고전적인, 완전 연결 신경망으로 볼 수 있는데 '일반적으로' 3개의 층에 sigmoid, tanh의 활성화 함수를 가진 신경망을 이야기한다. (본인의 예제에서 활성화 함수를 relu를 사용하였지만...) 여기서 DNN은 더 확장하여 순환(RNN, LSTM)을 할 수 있다던지, 완전 연결이 아니라던지, 활성화 함수가 0 또는 1이 아니라던지 등등 더욱 포괄적이고 상위적인 개념이 포함된다. 단순히 은닉 층 개수로 나눌 수는 없다. 제목은 DNN으로 거창하게 하였지만, 사실 MLP는 DNN의 하위개념이므로(...) 구현 상 큰 차이가 없다... 2022. 4. 20.
9. 다중 분류 구현하기(심화실습) 이전시간에 언급한 대로, Iris 꽃 데이터 중 일부(30개)를 불러와 학습해 볼 것이다. 아래 파일을 임포트한다. 사용하기 쉽게 미리 원-핫 인코딩을 하였다. 1. 데이터 준비 파일을 임포트하고 슬라이스를 통해 입력데이터 input, 목표값 데이터 target으로 분리한다. import numpy as np from numpy import genfromtxt np.random.seed(220106) data = genfromtxt('IRIS_tiny_onehot.csv', delimiter=',', skip_header=1) input = data[:, 0:4] target = data[:, 4:7] W = np.random.randn(3, 4) B = np.random.randn(3, 1) learn.. 2022. 1. 9.
5. 로지스틱 회귀 구현하기(실습) 이전 시간에 로지스틱 회귀의 정의, 도함수를 유도하였다. 1. 복습 위 데이터는 평균 득점(avg_score), 리바운드 횟수(rebound), 어시스트 횟수(asist)에 따른 신인 농구 선수의 NBA 드래프트 여부 (1:성공, 0:실패) 이다. 이를 로지스틱 회귀로 예측할 것이다. 1) g(W, B) 연산은 아래와 같이 정의하였다. 2) σ(g(W, B)) 연산은 아래와 같이 정의하였다. 3) 순방향 연산 predict는 아래와 같이 최종 정의하였다. 4) 오차함수로 이진 교차 엔트로피 오차를 정의하였다. 5) ∂loss(W,B) / ∂W 는 아래와 같이 정의하였다. 6) ∂loss(W,B) / ∂B 는 아래와 같이 정의하였다. 2. 데이터 준비하기 첨부파일을 받아 임포트한다. 데이터를 분할하고 we.. 2022. 1. 4.
2. 선형회귀 구현하기(실습) 저번시간에 X = [1, 2, 3], Y = [3, 5, 7] 의 입력(X)와 출력(Y)가 있을 때 이 둘의 관계를 Y = wx + b로 가정하고 w, b를 구하기 위해 도함수를 구하고 경사하강법을 이용한다고 하였다. 입력값 input X, 목표값 target Y, weight W, bias B를 Numpy로 표현하면 아래와 같다. (아래 learning_rate는 추후에 설명) import numpy as np np.random.seed(220102) input = np.array([[1.], [2.], [3.]]) target = np.array([[3.], [5.], [7.]]) W = np.random.randn(1, 1) # [[0.97213265]] correct value = 2 B = np.. 2022. 1. 3.