-
4-3_요약_Classifying_Surnames_with_a_CNN.ipynbpytorch를 이용한 자연어입문 2024. 4. 20. 13:10
CNN (Convolution Neural Network)
CNN : Kernel 로 stride 해주면서 연산하는 Neural Network (convoultion연산 - 내적x)
사용이유: 순차적 데이터(이미지 특히) sequential data에 처리하기 좋아서
-> 이유: local feture를 잘 캐치함.
아래그림)
모서리에 흰색왼쪽 빨간네모등 전체적 x는 다르지만 위치직 특징( local feature)를 잘뽑아낸다.
출처 https://velog.io/@skkumin/CNNConvolution-Neural-Network-%EC%9D%B4%EB%A1%A0
이미지는 행렬일뿐
커널이 돌아가는것 - 행렬이라 이미지
KERNAL 이 한칸씩가는걸 STRIDE = 1
두칸씩 가는거 STRIDE 2
커널은 지금은 3*3 행렬
PADDING 사이드 0채우는것 =
딥러닝은 커널을 알아서 찾아줌
출처: https://velog.io/@skkumin/CNNConvolution-Neural-Network-%EC%9D%B4%EB%A1%A0
Pooling
- Conv연산이 적용된 feature map의 일정 영역 별로 하나의 값을 추출하여 feature map의 사이즈를 줄이는것(sub sampling)
- 일반적으로 Pooling 크기와 stride를 동일하게 부여하여 모든 값이 한번에 처리 될 수 있도록 한다.
- 비슷한 feature 들이 서로 다른 이미지에서 위치가 달라지면서 다르게 해석되는 현상을 중화시켜준다.
- Max pooling(지정된 블록의 최대값을 대표값으로):
- Averaging Pooling(블록내 원소들의 평균값을 대표값으로):
결론
CNN은 FULLY CONNECTED LAYER보다 연결선(weight)하나씩 (parameter)이 적어진다.
좋은 성능을 낸다.
출처
파이토치로 배우는 자연어 처리
Part 2. 인공지능의 이해 Lv.1 _ 인공지능-딥러닝 파헤치기
Residual Connnection
network에 건너뛰는 경로를 만들어준다.
ResNet
Residual 과 CNN을 합해서 사용한 이미지 처리용 network
예전에 나왔지만 아직도 성능이 좋아서 baseline으로 많이 사용한다.
'pytorch를 이용한 자연어입문' 카테고리의 다른 글