-
[CS230] C4M4 - Convolutional Neural Networks전공 2020. 6. 14. 21:43
[ Face Recognition ]
What is face recognition?
- face verification: 이미지와 이름을 입력했을 때 그 사람인지 여부를 출력
- face recognition: 회사 구성원을 디비에 넣고 이미지를 입력했을 때 ID를 출력하는 것
One Shot Learning
- One Shot Learning: 하나의 이미지만 가지고 그 사람인지 판단해야 한다. -> 해결: 유사도 함수를 학습시키기
- 유사도 함수: 두개의 이미지를 입력받아 사진의 유사한 정도의 차이를 반환. 값이 특정 값보다 크다면 서로 다른 사람임을 알 수 있다.
- face verification: 유사도 함수 값을 출력하는 것
- face recognition: 새로운 사진(1)을 디비의 데이터(N)와 유사도 함수를 비교(N:1)
Siamese Network
- Siamese network: 이미지를 입력하고 신경망 훈련을 통해 벡터를 구함. (벡터는 마지막 완전연결층에서 계산됨)
d(x(1),x(2))=∣∣f(x(1))−f(x(2))∣∣
Triplet Loss(삼중항 손실 함수에 경사 하강법을 적용-학습 방법1)
anchor(A), positive(P) - anchor와 같은 인물, negative(N) - anchor와 다른 인물 를 동시에 본다
∣∣f(A)−f(P)∣∣^2 ≤ ∣∣f(A)−f(N)∣∣^2
∣∣f(A)−f(P)∣∣^2−∣∣f(A)−f(N)∣∣^2 ≤ 0
∣∣f(A)−f(P)∣∣^2−∣∣f(A)−f(N)∣∣^2 + α ≤ 0
(0보다 훨씬 작은 값을 갖게 하기 위해 α 추가, AP쌍과 NP쌍이 서로 더 멀어지게 하기 위함)
L(A,P,N) = max(∣∣f(A)−f(P)∣∣^2−∣∣f(A)−f(N)∣∣^2+α,0)
- 한 사람당 여러장의 이미지(10장 이상)를 가지고 학습 후 1인당 사진이 1개씩 있을 때(원 샷 문제) 적용
- 훈련데이터 중 A,P,N 에 해당하는 사진을 무작위로 고르면 식을 만족하기 쉽다(선택한 사진이 같은 인물일 확률보다 다른 인물일 확률이 높으므로)
- 훈련을 hard하게 하려면(알고리즘의 계산 효율 향상) d(A,P), d(A,N)이 서로 비슷한 것으로 만들기
- 경사하강법을 사용해서 비용함수 J를 최소화
- 데이터 베이스 사진의 경우 미리 계산하여 속도 향상 가능
Face Verification and Binary Classification(학습 방법2)
- 2개의 사진 각각의 Siamese network > 로지스틱 회귀
- 2개의 사진을 비교하여 같은 사람이면 1 다른 사람이면 0(2개 중 1개는 실제 인물 나머지 1개는 데이터베이스 사진)
- 데이터 베이스 사진의 경우 미리 계산하여 속도 향상 가능
[ Neural Style Transfer ]
What is neural style transfer?
Content image + Style image > Generated image
ex. 풍경사진 + 고흐스타일 > 고흐스타일 풍경사진What are deep ConvNets learning?
- 9개의 hidden unit으로 구성. 하나의 hidden unit은 hidden unit을 최대로 활성화시키는 9개의 이미지 조각으로 구성.총 9x9=81개 이미지(이미지 조각: 훈련 세트가 신경망을 거치게 하고 어떤 이미지가 그 유닛의 활성값을 최대화하는지 찾는다)
- 단층에서는 간단한 특성 감지, 고층으로 갈수록 더 복잡한 특성 감지
Cost Function
- J(G)=α*J\(C,G)+β*J(S,G)
- J\(C,G): Content image, Generated image가 얼마나 비슷한지
- J(S,G): Style image, Generated image가 얼마나 비슷한지
- 방법:
1. Initiate G randomly
2. Use gradient descent to minimize J(G)
Content Cost Function
- J\(C,G) = (1/2) * ()(1/2)*∣∣a^[l](C)−a^[l](G)∣∣^2
(1/2이외 다른 값 가능)
Style Cost Function1D and 3D Generalizations
- 상관관계정도: 세로선 또는 주황색과 같은 고차원적 특징이 서로 다른 이미지에서 나타나는지 여부
'전공' 카테고리의 다른 글
윈도우10 호환성 탭 보이게 설정하기 (0) 2021.05.01 [CS230] C4M3 - Convolutional Neural Networks (0) 2020.05.30 [CS230] C4M2 - Convolutional Neural Networks (0) 2020.05.24 [CS230] C4M1 - Convolutional Neural Networks (0) 2020.05.17 [CS230] C3M2 - Structuring Machine Learning Projects (0) 2020.05.06