[deep learning] 딥러닝 심화 : 딥러닝 프레임워크

Hyeon·2024년 4월 17일

에이블스쿨

목록 보기
9/11

1.Sequential

: 초보자 권장 학습 구조
: flatten()을 활용하여 1차원으로 변환
(flatten()이란? 쫘아악 펼쳐줌, reshape와 같은 방식)
: dense만 있는 구조 = fully connected 구조

예시 ) MNIST 데이터

MNIST 데이터는 흑백이며, 픽셀, 고정된 크기라는 제한점이 있어서 가능.
해당 손글씨 데이터를 쫘악 펼쳐서 1차원으로 변환하여 모델 학습

BUT
이미지 자체를 풀어서 계산할 수 없을까?
(이미지의 구조를 살려서 풀 수 없는걸까?)

THEN
CNN을 통해서 해결이 가능

2.Conv2D

  • 모델 생성시 들어가야 할 매개변수
    filters : 새롭게 제작하려는 feature map 수
    kernal_size : 필터의 가로 세로 사이즈
    strides : 필터의 이동 보폭
    activation= 'relu'
    padding = 'same'
    : 1.feature map 사이즈 유지
    2.외곽 정보 조금이라도 더 반영 (의미 O)

  • MaxPool2D
    : 맥스풀링으로, 지역 내 가장 높은 값만 출력하는 기법이다. 그 외 나머지값은 영향력이 없어 의미 없다고 판단하고 반영하지 않는다.

pool_size = (2,2) : 풀링 필터 가로세로 사이즈
strides = (2,2) : 풀링 필터 이동 보폭

maxpooling 과 activation='relu'은 잘 엮이기 좋다.
(relu함수는 일정값 이하를 차단하고 나머지만 가져가는 함수로, 영향력이 클수록 값도 커지는 함수이다)

  • AvgPool2D
    :평균풀링으로, 지역의 전반적인 요소를 반영하고 싶을 때 사용하는 풀링 기법이다. 해당 기법보다 MaxPool2D이 더 많이 쓰인다.

Feature Representation
:연결된 것으로부터 기존에 없던 feature을 재표현하고 생성하는 것이다.
:위치정보를 보존한채로 feature을 represent한다.

잘 학습된 CNN특징
1.유용한 feature을 추출
2.위치정보를 보존

ImageNet : 여러 CNN 기법이 쓰이면서 알려진 대회

  • Alex Net
  • VGG
  • Google Net
  • Res Net
    -> 해당 파트는?

    Backbone 파트
    : input을 feature map으로 변환하는 부분
    : feature map을 생성하는 파트
    : input을 여러 conv layer 에 통과시켜서 feature map을 내놓음

-> Head 파트
: object dection에 맞게 레이어를 추가하고 변형
: localization 및 classification 수행

Backbone & Head 확인 필요

3.object detection

1.bounding box

  • 하나의 object 가 포함된 최소 크기의 box
  • 구성요소 ) x,y,w,h
    : x,y은 좌표 & w,h은 크기 -> 즉 , 위치 정보
  • Neural Net관점에서 지도학습이란?
    : Error을 줄여나가는 방향으로 w을 업데이트

2.classification

  • 어떤 클래스인지 구분하는 작업

3.confidence score

  • bounding box 내부에 object 있는 확신의 정도
    : 0에 가까울수록 없다고 판단 & 1에 가까울수록 있다고 판단
  • 다중분류의 손실함수
    : categorical crossentropy이나 원래 일반적이지만,
    메모리 문제로 sparse_crossentropy 쓰임

  • patience 매개변수
    : patience 매개변수를 낮게주면 안된다. (1 지양)
    성능이 가만히 있었다가 늦게 좋아지는 경우가 있기 때문

    Q.모델에 따라서 Box를 2개의 꼭지점으로 표현하는 것들도 있다고 하셨었는데, Box의 표현의 차이인지 모델에서도 차이가 있는지?
    A.대회나 존재하는 데이터셋의 양식에 따라서 다를 수 있으며 사용하는 모델이 어떤 양식인지에 따라서 표현하는 방식이 다를 수 있다.

Q.cnn에서 학습시 필터값 조정이 될때 모든 필터의 필터값이 조정이 되나요?
A.네. 한번씩 훑을때 가중치는 동일하며, 변화된 가중치가 새로 업데이트되어 바뀔때도 훑어지는 가중치는 동일하다.

4.실습 : sequential & cnn

강사님 딥러닝 실습 코드 (colab)

0개의 댓글