애플 CoreML 뭐야?

coreml
machinelearning

#1

애플의 CoreML 뭐야?

Apple의 기계 학습 프레임 워크는 이번이 처음이 아니라 작년 같은 목적 라이브러리가 소개되었습니다. CPU에 최적화 된 Accelerate와 GPU에 최적화 된 MPS를 구분하여 계산을 효율적으로 할 목적으로되지만, 하드웨어에 매우 가깝기 때문에 개발이 어려웠습니다. 이번에 CoreML을 소개하여 CPU와 GPU의 전환 처리를 쉽게 했습니다.

  • CoreML는 iOS11에서 개발된 기계 학습 프레임 워크입니다.
  • CoreML 추론 환경으로, 학습 환경이 아니기 때문에 학습 자체는 Keras, Caffe과 csikit-learn 등 다른 프레임 워크에서 해야합니다.
  • 학습 결과를 CoreML 용으로 변환 iOS 응용 프로그램에 통합하여 장치 단독으로 예측 및 식별 처리를 할 수 있습니다.
  • 모델의 학습을 CoreML에서 수 없지만, Apple은 여러 학습 된 Model을 제공합니다.

왜 주목 받고 있을까? ?

"iPhone 8 / 8plus」 「iPhone X '에 탑재의 신형 프로세서 「A11 Bionic"는 지금까지 사용해온 NVIDEA 제의 GPU가 아닌 Apple 독특한 디자인의 GPU를 사용합니다.처리 속도는 최신 Galaxy S8 및 iPad Pro 등 태블릿 뿐만 아니라 아니라 최신 모델의 MacBook Pro보다 빠릅니다. 참고

또한, Apple은 자연 언어 처리 및 이미지 인식 등의 기계 학습 작업을 고려하여 설계 되었습니다. 지금까지 Apple은 Google이나 Microsoft들로부터 기계 학습 분야에서 다소 뒤쳐지고 있다는 인상이 있었지만, CoreML의 도입으로 적지 않은 iOS 개발자들에게 새로운 모멘텀이 증가하기 때문에 앞으로 Apple의 움직임이 주목됩니다. (참고) CoreML

Vision :

고성능 이미지 분석 및 컴퓨터 비전을 사용하여 얼굴을 식별하고 기능을 발견하고 사진이나 비디오 장면을 분류하기위한 라이브러리.

Foundation (NLP) :

자연 언어 처리 기능을 제공하는 라이브러리.

Gameplay Kit

게임 개발 용 라이브러리에서 결정 나무를 이용한 AI도 제공

Accelerate and Basic Neural Network Subroutines (BNNS) :

회선 신경망을 사용하여 예측에 CPU를 효율적으로 사용합니다.

Metal Performance Shaders CNN (MPSCNN) :

회선 신경망을 사용하여 예측에 GPU를 효율적으로 사용합니다.

CoreML에는 3 개의 라이브러리가 포함되어 있습니다. 이 라이브러리는 모든 사용이 매우 간단하고 일련의 작업을 할 수있는 간단한 인터페이스를 제공합니다.

ready-to-use Core ML models

현재 Apple이 제공하는 학습 된 모델은 총 6 종류입니다. 참고

CoreML가 사전에 제공하는 학습 된 모델에 대한 VGG16과 ResNet 등 ILSVRC 등의 일반 물체 인식의 분야에서 유명하고 자주 이용되는 모델을 준비 했네요. 이러한 모델의 정확도는 잘 비교되지만 이 글에서는 이런 모델들을 시각적으로 이해하기 위해 모델 다이어그램을 작성했습니다. googlenet in keras (http://joelouismarino.github.io/blog_posts/blog_googlenet_keras.html)을 참고 모델 그림을 만들었습니다. 또한 신경망 구조에 대해서 여기 링크에 잘 정리하고있었습니다. (참고)

VGG16

Inseption v3

ResNet50

Places205 - GoogLeNet