Visual Recognition
Visual Recognition이란? 카메라를 통해 취득되는 사진이나 동영상에서 정보를 취득하는 과정
- 비선형 함수의 필요성
- 딥러닝 모델에서는 각 레이어마다 벡터(텐서)간의 연산이 이뤄지게 된다. 이 때, 비선형 함수가 존재하지 않으면 벡터간 연산은 결국 또 다른 하나의 벡터라는 결과가 나오게 되기 때문에 사실상 여러 개의 레이어를 썼다고 표현할 수 없게 된다. 그렇기 때문에 출력에 대해 비선형적 연산이 사이에 들어가야 한다. (ex)Tanh, Sigmoid, ReLU, Max pooling 등)
- CNN
- 상대적 위치에 어떤 특징점이 있는지 알려준다 (ex) 좌측 상단에는 귀가 있고, 우측 하단에는 눈썹이 있고...)
- layer가 올라갈수록 복합적 정보를 갖는 노드가 된다. 더 추상화된 정보를 갖고 있다고도 한다.
- 설명 가능한 AI(XAI)
- 기존 인공지능 동작 결과 : 이 그림은 95% 확률로 고양이다.
- XAI 동작 결과 : 털, 수염이 존재하고, 유사한 귀의 모양을 가졌기 때문에 이 그림은 95%의 확률로 고양이이다.
- Multi-channel Convolution
- Color Image -> RGB 3 channels(depth)
- output channel의 개수 = 필터의 개수
- Input : [batch(영상이 몇 개가 있는가), in_height, in_width, in_channels]
filter : [filter_height, filter_width, in_channels, out_channels] - pooling의 효과 : invariance를 높인다. 불변성을 갖도록 한다. 작은 변화에 크게 반응하지 않도록 한다.
- Color Image -> RGB 3 channels(depth)
- CNN Structure
- Convolution-ReLU-Pooling - ... - Convolution-ReLU-Pooling - Fooly Connected
전이학습(Transfer Learning)
- 일부 기업외엔 막대한 데이터를 지니기 어려움
- 양질의 데이터, 신뢰할 수 있는 데이터가 필요
- 학습할 수 있는 컴퓨팅 파워엔 한계가 있다.
- 기존 학습된 모델을 이용할 수 있으면 도움이 됨
- 전이학습 유형
-
첫 번째 단계 : 피쳐 추출기(Feature Extractor)와 분류기(classifier) 전부 학습 시킨 모델을 사용한다.
-> 모델 파라미터를 변형하지 않고 사용 - 문제가 거의 같을 때 사용
ex) ImageNet 데이터로 학습된 모델을 개와 고양이 분류하는 문제에 사용
두 번째 단계 : 피쳐 추출기를 그대로 활용하고(weight copy), 분류기만 현재 자신이 갖고 있는 문제에 맞게 재학습시킨다.
-> 문제가 비슷할 때 사용
ex) ImageNet 데이터로 학습된 모델을 어벤져스 캐릭터 분류 문제에 사용
세 번째 단계 : 피쳐 추출기에서 부분적으로 다시 학습을 시키고, 분류기를 자신이 갖고 있는 문제에 맞게 학습시킨다.
-> 문제가 약간 다를 때 사용
ex) ImageNet 데이터로 학습된 모델을 얼굴인식 문제에 사용
네 번째 단계 : 피쳐 추출기와 분류기 전체를 재학습 혹은 미세 조정해야 한다.
-> 문제가 많이 다를 때 사용
ex) ImageNet 데이터로 학습된 모델을 의료영상 문제에 사용
-
첫 번째 단계 : 피쳐 추출기(Feature Extractor)와 분류기(classifier) 전부 학습 시킨 모델을 사용한다.
'AI > KDT 인공지능' 카테고리의 다른 글
[08/09] Semantic Segmentation & Instance Segmentation (0) | 2021.08.09 |
---|---|
[08/05] Visual Recognition : Object Detection, Faster RCNN (0) | 2021.08.05 |
[07/30] NLP : 단어 임베딩 (0) | 2021.07.30 |
[07/29] NLP : 문서분류 (0) | 2021.07.29 |
[07/28] NLP : 언어 모델 (0) | 2021.07.28 |