2022년 패스트캠퍼스 챌린지/한번에끝내는딥러닝|인공지능초격차패키지
패스트캠퍼스 챌린지 - 26일차
조이쓰
2022. 2. 18. 22:13
강의 내용 Review
📍배운내용📍
- Modules of Classifier
- Convolutional Neural Networks
👉강의내용👈
Ch.01 딥러닝 네트워크의 연산
Lecture7. Convolutional Neural Networks
Modules of Classifier
- Input 이미지를 그대로 넣으면 성능이 떨어짐, 그래서 피처로 만들어서 넣음
- Feature Extractor : Convolutional Layers + Pooling Layer
- Classifier : Dense Layers
- Convolutional Layers + Pooling Layer 를 플랫튼 하면 Dense Layer가 됨
- 피처추출 알고리즘은 많음, 어떤것을 사용하는가 생각하는게 중요
- 피처 추출값은 같은 분류에 대해서는 비슷한 벡터값을 가져야함
- 다른 분류값에대해서는 다른 벡터값을 가져야함
Convolutional Neural Networks
- 딥러닝에서는 Feature Extractor 파라미터를 연산함
- 분류의 마지막에 소트프맥스를 사용해서 각 레이블에 대한 확률값을 구함
- 모델은 꼭 그림이나 테이블로 표현해서 그려야함!
- Feature Extractor + Classifier + Loss Calculator
CNN 예제
import numpy as np
import tensorflow as tf
from tensorflow.keras.layers import Conv2D
N, n_H, n_W, n_C = 1,5,5,3
n_filter = 3
k_size = 4
images = tf.random.uniform(minval=0, maxval=1, shape=(N, n_H, n_W, n_C))
# Forward Propagation(Tensorflow)
conv = Conv2D(filters = n_filter, kernel_size = k_size)
Y = conv(images)
# print(Y.shape)
Y = np.transpose(Y.numpy().squeeze(), (2,0,1))
# print(Y.shape)
print("Y(Tensorflow): \n", Y)
W, B = conv.get_weights()
# Forward Propagation(Manual)
images = images.numpy().squeeze()
Y_man = np.zeros(shape=(n_H - k_size +1, n_W - k_size +1, n_filter))
for c in range(n_filter):
c_W = W[:,:,:,c]
c_b = B[c]
for h in range(n_H - k_size +1):
for j in range(n_W - k_size + 1):
window = images[h:h+k_size, j:j+k_size, :]
conv = np.sum(window*c_W) + c_b
Y_man[h,j,c] = conv
print("Y(Manual): \n", np.transpose(Y_man, (2,0,1)))
공부사진
26일차 후기
챕터1 부분을 다들었다. 생각보다 강의 진도가 잘 안나간다ㅠㅠ
얼른 얼른 들어야지
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.