본문 바로가기

머신러닝/혼자 공부하는 머신러닝

20강 합성곱 신경망의 개념과 동작 원리 배우기

이 글은 https://www.youtube.com/watch?v=tPLRox0YYc8&list=PLJN246lAkhQjoU0C4v8FgtbjOIXxSs_4Q&index=20 보고 공부한 글 입니다.

 

밀집층(dense층)

1차원으로 펼처진 특성

 

뉴런은 입력의 갯수와 같다.

 

도장을 찍듯이 이미지 특징을 팍팍잡을 수 없을까?

 

 

2차원의 꽃을 1차원으로 바꾸면 꽃모양은 없어질 것이다.

 

 

합성곱 

가중치 3개만 곱한다. +절편

 

한칸 아래로 이동해서 

1,0,7에 가중치를 곱하고 출력을 만든다. 

 

보통 3~5 사이즈를 사용한다.

 

10개의 입력이 있다면 8개의 출력이 만들어 질 것이다.

가중치는 3개, 1개의 절편사용

 

슬라이드 했다고 한다. 

 

 

 

 

커널=필터=가중치 

도장을 이동해서 찍는 것이다.

 

필터에 있는 가중치가 커널이다

 

 

 

2차원 합성곱 

합성곱은 사용하는 이미지를 그대로 사용할 수 있다.

 

4*4 이차원 이미지가 있다. 1차원으로 펼치지 않고

 

3*3의 도장을 만든다.

 

커널의 크기는 입력값보다 작다.

 

도장을 찍고 슬라이딩 방식이 왼쪽에서 오른쪽으로

위에서 아래로 이동한다.

 

1번찍을 때마다 1개의 출력이 나온다.

 

 

 

특성맵 

출력이 4개가 나왔다.

(2,2)출력으로 만들어 졌다.

 

출력을 특성 맵이라고 부른다. (특성이라고도 부른다.)

 

 

여러 개의 필터 

필터가 여러개면 가중치도 다 다른것이다.

그림에서 w1,w2로 되어있지만 값이 다 다를 것이다.

 

필터 하나를 뉴런 하나라고 생각해도 좋지만

 

(2,2,3)에서 마지막은 필터의 갯수이다.

 

 

케라스 합성곱 층 

커널의 사이즈는 (3,3) (5,5)를 주로 사용한다.

 

 

패딩 

주변에 0으로 두르는걸 0패팅이라고 한다.

 

그러면 입력과출력 특성형식(4*4)이 같다.

 

 

패딩의 목적 

가운데에 있는 4번 픽셀은 모두 다 참여한다.

 

펙셀마다 기여하는 정도가 달라진다.

 

패딩을 한다면 가운데에 있는 픽셀이 9번 하면 모서리에는 4번한다.

 

4배차이나는 것을 매꿨다.

 

케라스의 패딩 설정 

 

 

스트라이드 

 

2칸씩 이동하는 것 

 

 

 

 

케라스의 스트라이드 설정 

 

보통 1로 설정한다.

 

 

 

풀링 

입력과 특성의 크기를 동일하게 만든다.

 

입력특성의 크기를 4*4에서 1*1로 바꿧다.

 

(2,2,3)에서 3을 채널차원이라고도 부른다.

 

 

최대 풀링 

전체 사이즈를 줄이는게 목적이라것 겹치지 않게 도장을 찍는다.

 

 

 

케라스의 풀링 층 

 

 

합성곱 신경망 

 

합성마다 활성화 함수 적용이 된다. 

 

 

 

3차원 합성곱 

2차원 -> 3차원으로 바꿨다.

 

 

여러 개의 필터가 있는 3차원 합성곱 

 

 

 

 

 

 

 

 

728x90