색인
- 10.1 비주얼 임베딩 애플리케이션
- 10.2 학습 임베드
- 10.3 손실 함수
- 10.4 정보량이 많은 데이터를 추출하기 위한 마이닝
- 10.5 프로젝트: 신경망 내장을 위한 교육
- 10.6 추가 서비스
-- jQuery CDN -->
10.1 비주얼 임베딩 애플리케이션
비주얼 임베딩 개념의 정보 검색 알고리즘
10.1.1 얼굴 인식
- 얼굴 인식: 이미지를 데이터베이스에 저장된 모든 이미지와 비교하여 해당 이미지의 신원을 확인하는 일대다 대응입니다.
- 얼굴 대비: 하나의 이미지를 다른 이미지와 비교하는 일대일 대응.
10.1.2 이미지 추천 시스템
: 사용자가 입력한 이미지와 유사한 이미지를 찾아주는 시스템 (e.g 전자상거래 상품추천)
이미지 유사도 측정의 예
- 색상 유사성: 유사한 색상의 제품을 권장합니다.
- 유사성의 의미: 유사한 이미지를 검색합니다.
10.1.3 객체의 재식별
전. 감시 카메라 네트워크(CCTV 감시)
카메라 사이를 이동하는 물체 재식별
10.2 학습 임베드
- 임베딩 기능을 익히기 위해서는 유사도 측정 기준(색상, 사물 등)이 필요합니다.
- 인간의 정의보다는 데이터 기반 감독 학습에 초점을 맞추는 것이 일반적입니다.
- 학습 과정 포함
- 컨벌루션 신경망의 구조 선택(마지막 완전 결합 레이어가 임베딩 공간의 차원, 즉 임베딩 벡터 공간을 결정함)
- 손실함수 선택 (주로 contrastive loss, triplet loss함수 사용)
- 데이터 세트 샘플링 방법 선택(정보가 풍부한 데이터 포인트 샘플링)
- 테스트할 때 마지막으로 완전히 접착된 레이어가 이미지의 임베딩 역할을 합니다.
10.3 손실 함수
10.3.1 임베딩 손실 함수
- 임베딩은 개체의 원근감, 밝기 또는 모양의 변화에 영향을 받아서는 안 됩니다.
- 실제 적용을 위해서는 임베딩 계산 및 순위 지정의 계산 효율성이 우수해야 합니다(임베딩은 저차원 벡터여야 함).
- 임베딩 학습에 널리 사용되는 손실 함수에는 교차 엔트로피, 대비 손실 및 삼중선 손실이 있습니다.
10.3.2 가로 엔트로피 손실
- 임베딩 학습은 클래스가 고도로 구획화된 일종의 분류 문제로 해석될 수 있기 때문에 교차 엔트로피로 학습할 수 있습니다.
- 교차 엔트로피 손실의 목적은 미리 정의된 클래스로 기능을 분류하는 것이므로 이러한 신경망의 성능은 임베딩 공간에서 유사성을 직접 반영하는 신경망에 비해 상대적으로 열악합니다.
10.3.3 대비 손실
- 임베딩 공간 내에서 유사한 클래스의 인스턴스는 무한히 더 가깝고 다른 클래스의 인스턴스는 더 멀리 떨어져 있습니다.
- 동일한 사람인지 확인하기 위해 두 개의 얼굴 이미지가 사용되는 경우가 있습니다(2개의 이미지 필요).
10.3.4 삼중 항 손실
- 같은 클래스에 속하는 데이터 포인트는 서로 가깝게 가져오고 다른 클래스에 속하는 데이터 포인트는 멀리 떨어져 있습니다.
- 점과 양수 및 음수 데이터 사이의 거리를 함께 고려하십시오(가까울수록 더 좋음, 동일한 클래스).
- 매우 높은 학습 복잡성
10.4 정보량이 많은 데이터를 추출하기 위한 마이닝
대비 손실 및 삼중항 손실은 높은 계산 복잡성으로 인해 실제 규모의 데이터 세트에 대해 계산하기 어렵습니다.
이 때문에 정보량이 많은 데이터를 선택해 계속 학습하는 것이 효율적이다.
10.4.1 데이터 로더
- 데이터 세트의 일부를 무작위로 선택하는 역할
- 고정보 콘텐츠 마이닝 트라이어드를 위한 필수 구성 요소
- Dataloader 수준에서 배치를 생성할 때 샘플링이 클래스에 집중되지 않도록 주의해야 합니다.
- 일반적인 방법: B 3쌍(참조 이미지, 포지티브 이미지, 네거티브 이미지)을 마이닝한 후 B항으로 액적 손실 계산
- 세 쌍의 효율적인 선택: 데이터세트 X에서 P ID의 무작위 샘플, 각 ID에 대한 K 이미지의 무작위 샘플(권장 배치 크기 P=18, K=4)
유효한 세 쌍둥이 수 계산(PK 크기의 배치를 무작위로 선택한다고 가정)
클래스 수: P=10
클래스당 샘플: K=4앵커 이미지 수 = 40(PK)
앵커 이미지당 포지티브 이미지 수 = 3(K-1)
앵커 이미지당 음성 이미지 수 = 9×4 = 36 (K*(P-1))
유효한 세 쌍의 총 수 = 40x3x(9×4)
– 3커플은 대부분 정보가 많지 않아 정보량이 많은 3커플을 선택하는 것이 중요!
!
(참조 이미지에 대한 정보량이 많은 포지티브 및 네거티브 이미지의 하위 집합을 선택하는 방법)
10.4.2 매우 유익한 데이터 얻기: 세 개의 유효한 쌍 찾기
하드 데이터 마이닝(Hard Data Mining): 정보량이 많은 샘플을 찾는 기술(객체 감지, 동작 영역 감지 등) – 부트스트래핑 기법의 일종
- 각 반복에서 현재 모델이 있는 유효성 검사 데이터 세트에 대해 현재 모델이 잘 수행되지 않는 하드 데이터를 마이닝하는 기술입니다.
- 이 하드 데이터만 입력하면 모델의 성능이 효율적으로 향상되고 매개변수의 수렴 속도가 향상됩니다.
- 딱딱한 데이터만 입력하면 정상 데이터와 이상값을 구분하는 모델의 능력이 떨어지고 학습 상황이 정체될 수 있습니다.
- 하드 네거티브 샘플: 참조 이미지에 가까움 / 하드 포지티브 샘플: 참조 이미지에서 멀리
10.4.3 모두 쌓기
- 가능한 모든 유효한 쌍 조합을 사용하는 전략입니다(순위를 매기거나 세 쌍을 선택하는 방법이 없음).
- 구현이 쉽지만 평균화로 인해 정보 손실이 발생할 수 있습니다.
- 일반적으로 유효한 세 쌍의 대부분은 높은 정보 내용이 아니므로 세 쌍에서 계산된 손실을 균등하게 합하면 세 개의 높은 정보 쌍에서 계산된 손실이 전파되지 않을 수 있습니다.
10.4.4 배치 하드
- 모든 데이터가 포함된 배치가 아닌 참조 이미지에 대해 가장 어려운 데이터로 배치를 생성하는 방법
- 소량의 정보가 포함된 샘플은 무시되므로 정보가 손실될 가능성이 없습니다.
- 이상값을 필터링하는 것은 상대적으로 어렵습니다.
- 사전 학습을 거치지 않은 신경망에 Batch Hard를 적용하면 샘플의 난이도를 신뢰하기 어렵습니다.
(정리) Batch All은 세 쌍을 모두 사용하여 최종 손실 값을 계산하고 Batch Hard는 가장 어려운 데이터를 사용하여 손실 값을 계산합니다.
10.4.5 배치 가중
- Batch all은 모든 샘플을 동일한 중요도로 취급하기 때문에 난이도가 높은 작은 샘플의 영향을 줄일 수 있습니다.
- 이를 개선하기 위해 샘플에 다른 가중치를 적용하는 방식(기준 이미지와의 거리에 따라 가중치가 결정됨)이므로 정보량(난이도)이 높은 샘플의 가중치가 그녀 없는 리허설.
10.4.6 배치 샘플
- 참조 영상과 샘플 간의 거리 분포를 이용하여 샘플을 마이닝하는 방법
- 이상값이 샘플에 포함되는 것을 방지할 수 있습니다.
- 샘플은 참조 이미지에서 먼 거리에서 선택되기 때문에 정보량이 많은 샘플을 기대할 수 있습니다.
10.5 프로젝트: 신경망 내장을 위한 교육
- 쇼핑 딜레마: 품질이 좋은 아이템과 유사한 옷 찾기
- 감지: 데이터베이스에서 유사한 차량 찾기
임베딩 신경망 훈련을 위한 준비
- 학습 데이터: 유사도 측정을 기반으로 할당된 태그에 따라 지도 학습을 수행합니다.
각 이미지의 ID/카테고리에 따라 폴더를 구성합니다.
임베딩 공간에서 같은 카테고리에 속하는 이미지들은 서로 가깝게 위치하도록 학습되고, 다른 카테고리에 속하는 이미지들은 멀리 위치하도록 학습됩니다. - 테스트 데이터: 쿼리와 갤러리로 나뉩니다.
쿼리 집합은 쿼리에 사용되는 이미지이고, 갤러리 집합은 각 쿼리 이미지에 대한 순위입니다.
임베드가 완벽하게 훈련된 경우 검색 쿼리의 상위 결과는 모두 동일한 클래스에 속합니다. - 거리 측정 기법 : 두 이미지의 유사성을 표현하는 수단(유클리드 거리)
- 평가: top-k 및 mAP 사용
10.5.1 작업 1: 유사 제품 찾기
- 21개 제품 목록의 11,735개 제품 이미지 54,643개
- 25,000개의 훈련 데이터와 26,000개의 테스트 데이터
10.5.2 작업 2: 차량 감지
- 20대의 카메라 네트워크를 통해 캡처된 776대의 차량에서 40,000개의 바운딩 박스로 구성
- 태깅 정보에는 차량 모델명, 색상, 카메라 간 정보, 카메라 각도 정보가 포함됩니다.
10.5.3 구현
Github 참고: https://github.com/VisualComputingInstitue/triple-reid/tree/sampling
10.6 추가 서비스
- 재평가
- 팁과 소풍
- 주목
- 추가 정보가 포함된 학습 가이드