iOS 캠프 [CoreML 프로젝트, 궁금증을 파헤쳐보자] 요약

Updated:

  • 2021.05.04 화요일 10시
  • 전미정님

머신러닝

  • 이름그대로 기계가 학습하는 것
  • 기존 컴퓨터 사이언스
    • 입력 -> 알고리즘 -> 출력
    • 입력이 주어지면 알고리즘으로 계산하여 결과 출력
  • 머신러닝
    • 입력&출력 -> 학습 -> 알고리즘 생성
    • 입력과 출력이 주어지면 컴퓨터가 학습하여 적절한 알고리즘 생성
  • 데이터가 있어야 학습하여 패턴을 찾아 알고리즘을 생성할 수 있다

Neural Network (뇌 신경망)

  • 인간의 뇌를 본따서 만든 머신러닝 방법
  • 각 입력값은 가중치를 가짐
  • 인공신경을 쌓아서 만든 것이 딥러닝(Deep Leaning, Deep Neural Network)

Y = W * X + b 이 수식만 이해하면 머신러닝을 이해할 수 있다

  • Y: Label, X: Feature (주어지는 Data)
  • w: 가중치, b: Bias (머신러닝이 모델이 구하는 값)

프로젝트에서 받았던 질문의 답변

1. iOS12에서 생긴 CoreML의 차이는 뭘까요?

  • iOS11에서 CoreML발표
    • Keras 이용해서 CoreML 모델 생성
    • weight: Float32 bit 사용
  • iOS12에서 CoreML2와 CreateML 발표
    • CreateML로 학습시킨건 CoreML2 모델
    • 데이터값을 양자화하는 기술 도입
    • weight: 1-8 bit를 사용하면서 가중치 용량을 크게 줄일 수 있게됨
  • Keras 사용해도 CreateML설정으로 bit를 줄일 수있지만 정보를 조금 잃게 된다
  • 모델의 용량이 줄어들었지만 성능도 조금 저하됨

2. 모델의 용량이 다른건 알고리즘 차이인가요?

  • 위 2번과 같이 설명됨

3. 모델 Type중 Neural Network Classifier는?

  • 공식문서엔 아직 정보가없고 깃허브 애플 머신러닝 리포에 관련 정보 있음

4. Maximum Iteration / Early Stopping

  • Over-fitting: 훈련데이터를 너무 많이 학습시키면 오히려 너무 그 데이터에 맞춰져서 새로운 데이터를 예측하기 힘듬
  • 오버피팅이 일어나기전에 미리 학습 종료

Mobile Deeplearning 분야는 점점 더 커질 것

  • 다양한 장점
    • 사용자 정보 보호
    • 사용자 무선 데이터 보호
    • 서버 비용 절약
    • 접근성 향상

내 질문

머신러닝이라면 주어진 모델로 결과를 판별하는 것 뿐아니라 그 결과를 이용해서 모델도 계속해서 학습되며 업데이트 되야할 것 같은 느낌이 들었는데요 이런것도 구현이 가능한가요?

  • 이런 과정을 재학습, 강화학습이라고 하는데 실시간으로 해주지는 못하고 다시 해주어야함

Leave a comment