I can do it!!

He can do! She can do! why cannot me? i can do it!

개발/sk infosec cloud ai 전문가 양성과정

[PYTHON데이터분석 2020/09/07-2] SK infosec 클라우드 AI 전문가 양성과정 수업필기본

gogoriver 2020. 9. 7. 23:24

  • 대각선 필터와 같은 값은 보다 많은 pooling값을 통해 데이터의 특징을 추출한다
  • 따라서 결과적으로 풀링값이 가장 큰 대각선 필터가 유용하다고 결론지을 수 있다.

fully connected 영역

  • 이제 conv layer 1,2 를 통과한 영역이 이후 layer에 의한 결과값이 조절이 된다.
  • 기존에 위치를 이용해서 전체 데이터를 하나의 입력 데이터로 사용했던 방식보다는 조그마한 커널을 만들어서 커널을 기억해서 가장 강력한 것을 뽑는 softmax로 fc를 거친다
  • 치와와 vs 머핀 / 고양이 vs 아이스크림 처럼 고양이, 개의 특징을 잡아서 구분하는 것이다.

  • 어떠한 필터인지에 따라서 sharp, emboshing등의 필터들의 값을 가지고 sampling을 거칠 수 있다.

  • 이러한 이미지에서 각각의 특징을 추출하는데 이러한 특징값을 feature map이라고 한다.
  • 즉, 필터값도 학습에 의해서 업데이트 하게 된다.

문제 color 이미지인 경우에는?

color images

 

  • RGB

  • SOLUTION -> RGB, 즉 3차원으로 생각해보자!

  • 또한 블록(벡터)로 생각해보자

    • 3차원의 합성곱 연산 -> 데이터와 필터를 직육면체 블록으로 생각한다.
    • INPUT이 C, H , W이기 때문에
    • FILTER도 C, FH, FW이다.
    • OUTPUT도 1, OH, OW이다. => 어차피 데이터는 평면 데이터로 쭉 FLAT하게 만드는 FC과정이 필요하다!
    • FC를 해야지 SOFTMAX등에 적용할 수 있다.

    • 이게 바로 채널이 한개 더 추가된 내용이다.

배치처리

  • 각 계층을 흐르는 데이터의 차원을 하나 늘려 4차원 데이터로 만드는 것
  • 데이터수, 채널 수, 높이, 너비

  • 처리를 간단하게 하자면 각각의 값들을 1차원 데이터 형태로 쭉 늘린다. 즉 편향이라고 하며, 이 값들도 1차원 데이터의 값들로 활용되도록 해야한다.


  • 풀링 계층
  1. 풀링 계층
    • 세로 가로 방향의 공간을 줄이는 연산 진행
  2. 최대 풀링
    • 아까 했던 MAX POOLING 최대 데이터 추출하는 것
  • 풀링 계층 특징
    • 강건하다 : 입력의 변화에 영향을 적게 받는다.
    • 즉 아래 이미지와 같이 값이 한칸씩 밀려도 결과 값은 같다!(일부러 조작하긴 했지만)
    • 즉 위와 같이 영향을 적게 받는다는게 POINT이다

구현

  • 4차원 배열 형태로 연산하면 된다!

  • numpy.shape를 통해 쉽게 가능하다

  • x.shape

  • x[0].shape

  • 또한 im2col함수 이용하면 정육면체 데이터 값을 필터링 하기 좋은 형태로 만들어 준다.
  • 즉 행렬 데이터로 만들어 준다.

  • im2col함수는 image to column을 의미하고,
  • caffe, chamber등의 딥러닝 프레임워크에서 제공되는 함수이다

  • pooling은 아래 이미지와 같이 구현된다! 기억~

정리

  • epoch : 대략 2분 정도
    • 대략 epochs는 23분 정도이다.
    • 정확도
  • 예고 >>

    CNN 실습할 예정필터를 사용함으로서 가중치가 업데이트, 이를 통해 필요했던 데이터가 어떤 것이 있는지 확인

  • 정리 >>

    CNN의 구성과 흐름 기억하기! 기본 베이스를 CNN으로 한 알고리즘 등이 있다.