Deep Learning -> CNN 복습

2022. 9. 13. 20:51ML_DL/DL

딥 러닝이란?

비정형데이터를 처리하는데 특화된 머신러닝 알고리즘의 한 종류이다.

이는 최소 2개 이상의 hidden layer를 가지고 구성되어 있다.

 

케라스 그리고 텐서플로우

케라스 : 신경망을 만들기 위한 고수준 파이썬 라이브러리

텐서플로우 : 신경망을 훈련하기 위해 필요한 저수준 배열 연산을 수행하는 역할을 하는 백엔드 라이브러리

  • Tensor?
    • 행렬로 표현할 수 있는 2차원 배열을 높은 차원으로 확장시킨 다차원배열의 형태

모델생성 흐름

이미지 적재 -> 모델 생성 -> 모델컴파일(옵티마이저, 손실함수 정의) -> 모델훈련 -> 모델평가

 

합성곱층이 등장한 배경

Flatten -> Dense 로만 이루어진 모델을 그다지 높은 성능을 낼 수 없다.

이유는 다음과 같다.

입력 이미지의 공간 구조를 다룰 수 있는 요소가 네트워크에 없다.

=> why? Flatten 층에 이미지를 한 줄로 표현하였다.

 

합성곱층의 역할

이미지의 영역과 커널 혹은 필터라 불리는 행렬과 합성곱을 진행한다. 

이를 통해서 높은 값일 수록 필터 이미지와 해당 이미지의 영역이 비슷하다는 것을 나타낸다.

  • Stride?
    • 커널이 한 번에 입력 위를 이동하는 크기를 의미한다. 즉 stride를 크게 줄 수록 텐서의 크기는 줄어든다.
  • Padding
    • 이미지 영역에 있어서 테두리를 생성 해 주는 것. 이를 통해서 출려된 크기를 조절할 수 있다
    • 이미지 테두리 부분을 이제는 넉넉하게 포함할수 있기에 테두리 부분에 대해서도 적절한 합성곱이 진행 될 수 있다.

 

 

'ML_DL > DL' 카테고리의 다른 글

DL) GAN  (0) 2022.07.20
DL) CNN  (0) 2022.07.15
DL) RNN 구조와 Attention  (0) 2022.07.12
DL) RNN , LSTM  (0) 2022.07.12
DL) 단어의 분산 표현(Distributed Representation)  (0) 2022.07.11