본문 바로가기

Study

'머신 러닝 프로젝트 구조화' 강좌 - 2주차(2) 정리

'머신 러닝 프로젝트 구조화' 강좌 - 다중 작업을 통한 학습 - 2주 차 정리

  • Andrew Ng 강사님의 머신 러닝 프로젝트 구조화 [2주 차] 다중 작업을 통한 학습 강좌를 보고 정리한 내용
  • [K-MOOC x COURSERA] 구독권을 통해 강좌를 수강함

교육 기관 : https://www.deeplearning.ai/


2주차(2) 강좌 후기

  • pre-training과 fine tuning이 같은 것인가를 평소에 헷갈렸는데 강의에서 적절한 설명이 나와서 알 수 있었고 전이 학습을 통해 프로젝트를 해왔었는데 가능한 경우와 불가능한 경우에 대해 알게 되었다.

1. 전이 학습

한 가지 업무에서 배운 지식을 또 다른 업무에 적용시키는 것

재학습 데이터가 적은 경우
  • 마지막 층의 weight만 다시 트레이닝시킬 수 있고 나머지 매개 변수는 고정시키는 것입니다.
데이터가 충분히 있는 경우,
  • 나머지 신경망에 대한 부분도 모든 층을 다시 트레이닝시킬 수 있음
pre-training? fine tuning?
  • 신경망의 weight 비중을 pre-initialize나 pre-train 하기 위해 이미지 인식 데이터를 쓰기 때문에 pre-training이라고 부름
  • weight를 나중에 업데이트 하는 경우 fine tuning이라고도 함
transfer learning이 말이 되는 경우
  • 많은 데이터를 보유하고 있는 문제에서 적은 데이터를 가지고 있는 문제로 transfer 시키는 것
  • 쉽게 말해 A업무를 배우다 B 업무를 하게 될 경우 A에 대해 조금밖에 모르는데 B를 잘할 확률이 다소 낮음, 하지만 A 업무에 대해 잘 알다가 B 업무를 하면 잘할 확률이 높은 것과 비슷

2. 멀티 태스크 러닝

위에서 말한 A업무에서 B 업무로 남어 가는 절차처럼 transfer learning에서는 순차적인 절차가 있었는 반면 multi-task 러닝에서는 신경망이 여러 가지 일을 할 수 있게 동시에 시작함

예시 
  • 자율주행차를 만든다고 가정할때, 보행자나  다른 차량, 정비 팻말 등 여러 가지 부분을 잘 감지해야
    하며 신호나 다른 것들도 감지해야함
  • 그러므로 한 사진에 대해서 , 보행자가 있는지, 차량이 있는지 정지 신호가 있는지 이렇게 복수의 물체가 같은 그림에 있을 수 있음. 이는 하나의 이미지가 복수의 레이블을 가질 수 있다는 것을 뜻함
  • 한 개의 신경망을 학습시켜 4개의 일을 할 수 있도록 하는 것이 multi-task의 힘임
multi-task 러닝이 말이 되는 경우

1.  shared low-level features로부터 이득을 볼 수 있는 업무들을 트레이닝시킬 때,

ex) 자율주행차 같은 경우엔, 신호등, 보행자, 차량을 인식하는 것이  stop sign과 같은 것을 인식하는 것에 도움을 줄 수 있음

 

2. 필수 규칙 X, 항상 옳지 않음
multi-task 러닝에서 부스트 효과가 있으려면, 기존 업무의 총 데이터 합산 양이 다른 업무에 비해 훨씬 더 많아야 한다는 것

3. multi-task 러닝에는 업무에서 잘할 수 있도록 큰 신경망을 트레이닝시키는 경우에 더 잘 되는 편

요약
  • multi-task 러닝은 여러분이 1개의 신경망이 여러 업무를 처리할 수 있도록 해줌
  • 그리고 이러한 특성은 따로 업무를 진행하는 것보다 여러분이 더 좋은 성능을 가질 수 있도록 해줌
  • 실제로는  transfer learning 이 multi-task learning보다 더 자주 쓰이는 것을 볼 수 있음