ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Face recognition & Neural Style Transfer
    Google ML Bootcamp/Convolutional Neural Networks 2023. 9. 27. 17:14
    728x90

    ※ One-shot Learning

    - Learning from one example to recognize the person again.

    - Learning a "similarity" function 을 이용한다.

     

    ※ Siamese network

    - Parameters of NN define an encoding f(xi) -> 신경망이 f(xi)를 인코딩하여 이 128차원을 출력한다.

     

    - same person인지 different person인지를 이렇게 판단한다.

     

    ※ Triplet Loss

    - 두 개 이상의 이미지를 비교해야한다.

    - Anchor image, Positive image, Negative image 이렇게 3개의 이미지를 비교하기 때문에 삼중항 Loss라고 불린다.

    - f(A) - f(P) = 0, f(A) - f(N) = 0 -> f(img) = 0 이면 방정식을 만족한다. 하지만, 이렇게 신경망이 출력되는 것을 막기 위해서 alpha(margin)을 더해주는 방식을 사용한다.

     

    - training을 위해서는 동일한 사람의 사진이 여러 개 있는 훈련 세트가 필요함

    - Training set : 10k pictures(1000명이 있다면 총 10,000장의 이미지)

    - 사진이 오직 하나 뿐이라면 이 시스템을 실제로 훈련 시킬 수 없음. but 훈련된 문제에 이미지가 한 장만 있다면 원샷 학습 문제에 적용하는 것은 가능

     

     

     

    ※ Face Verification and Binary Classification

    - X는 Input image, yhat은 0 or 1로 이루어짐.

    - 매번 신경망 f(x(j))를 계산하는 것이 아니라 미리 precompute로 f(x(j))를 계산해둔다.

    - new image가 들어오게 되면 위쪽 신경망에서 인코딩 된 f(x(i))를 계산하고 아래쪽에 미리 계산되어 있는 f(x(j))와 비교한 다음 yhat을 예측하는 방식을 사용한다.

     

     

    ※ Neural Style Transfer

     

    ※ Deep ConvNets learning

    - 1개의 hidden units를 선택하고 해당 units의 활성화를 최대화하는 9개의 input image를 찾으면 9개의 이미지 패치를 찾을 수 있음. -> 이것을 계속 해서 반복함.(이런 식으로 히든 유닛을 계속해서 발견)

     

    - Layer들을 하나씩 살펴보면 Layer1, Layer2는 단순한 정도를 인식하지만, Layer5 정도에서는 꽤나 복잡하고 구체적인 객체들을 인식하고 있음.

     

    ※ Cost Function

     

    ※ Content Cost Function

     

     

    ※ Style Cost Function

    - Style Matrix == Gram Matrix(대부분 대문자 G를 사용하고 Matrix를 표시한다.)

    - S와 G라는 이미지를 사용

     

     

    - J(G) = alpha * J_content(C, G) + beta * J_style(S, G)

    - J_content(C, G) = np.linalg.norm(a[l][(C) - a[l](G))

    - J_style(S, G) = np.linalg.norm(G[l](S) - G[l](G))

    - content cost function과 style cost function을 합해서 최종 Cost Function을 만들어낼 수 있다.

    728x90

    'Google ML Bootcamp > Convolutional Neural Networks' 카테고리의 다른 글

    Detection Algorithms  (0) 2023.09.25
    Case Studies & ConvNet practical Advice  (0) 2023.09.24
    Convolutional Neural Networks  (0) 2023.09.23
Designed by Tistory.