ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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)∣^2f(A)f(N)∣^2  0 

    f(A)f(P)∣^2f(A)f(N)∣^2 + α  0 

    (0보다 훨씬 작은 값을 갖게 하기 위해 α 추가, AP쌍과 NP쌍이 서로 더 멀어지게 하기 위함)

    L(A,P,N) = max(f(A)f(P)∣^2f(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

    - 상관관계정도: 세로선 또는 주황색과 같은 고차원적 특징이 서로 다른 이미지에서 나타나는지 여부

    댓글