iOS 캠프 [CoreML 프로젝트, 궁금증을 파헤쳐보자] 요약
- 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