BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース モデルタイプが拡張され、オンデバイス再トレーニングが可能になったCore ML 3

モデルタイプが拡張され、オンデバイス再トレーニングが可能になったCore ML 3

原文(投稿日:2019/06/14)へのリンク

マシンラーニングのテクノロジをiOSアプリに統合可能にするAppleのマシンラーニングフレームワークであるCore ML 3に、WWDC 2019で、数多くのアップデートが行われた。多数の新しいモデルタイプや新しいニューラルネットワークレイヤのタイプ、ユーザがローカルで新たに生成したデータを使って既存モデルをオンデバイスでトレーニングする機能、などが追加されている。

Core ML 3で導入された新たなモデルにより、これまでより多くの問題が、Core MLを使って解決できるようになる。その中には、いずれも推奨システムの構築に使用可能なk近傍法(k-Nearest Neighbor classifier)とItemSimilarityRecommender、音の分類に使用可能なSoundAnalysisPreprocessing、基本的に最適化のメカニズムであるLinkedモデルなどが含まれている。Linkedモデルでは、例えば、第3のモデルに依存する2つのモデルがある場合、第3のモデルは含まず、そのリンクを保持することによって、読み込みを1回だけにすることが可能になる。新しいモデルタイプとしては、いずれも教師付き分類や回帰問題に適用可能な一般化線形モデル、サポートベクタマシン、ツリーアンサンブル、イメージからフィーチャを抽出するためのニューラルネットワークであるVisionFeaturePrint、テキストの分類と分析のためのNLPモデル、他のモデルを組み合わせて構築されたメタモデルであるパイプラインなどがあり、Core MLのモデルタイプライブラリを構成している。

最も興味深いのは、デバイスで新たに収集されたデータに基づいて、Core ML 3モデルを更新、つまり再トレーニングできることだ。この機能は、Core MLに最初から付属するモデルも対象としている。つまり、アプリユーザから生成された新たなデータを使って、モデルを進化させることができるのだ。このオンデバイスの再トレーニングは、ニューラルネットワークとk近傍モデルタイプのみでサポートされる。外部のサービスは関与しないため、ユーザのデータがデバイス外に送信されることはない。従来のCoreMLバージョンは、これとは対照的に、サーバ上のトレーニングに依存していた。デバイス上でのトレーニングは多くの新しい可能性を開くものであるが、モデルの再トレーニングは簡単な作業ではないため、UIレベルにおいては、ある程度の複雑さを伴うものになる。さらに、デバイス上で生成された新しいモデルを、他のデバイスや、アプリを削除して再インストールした後も使用可能にするため、何らかの方法で永続化する必要がある。

下位のレベルでは、Core ML 3には、100を超えるニューラルネットワークレイヤタイプのサポートが含まれている。個々のレイヤタイプは、値の丸めや入力のクランプなど、特定のタスクに特化している。約70のレイヤが新たに利用可能になったことで、カスタムレイヤを使用しなくても、より複雑なニューラルネットワークをCore MLに変換できるようになる。新たなレイヤタイプの完全な一覧は、Appleの公式ドキュメントを参照して頂きたい。

Core ML 3.0はiOS 13の一部であり、開発にはMacOS 10.15が必要となる。いずれも登録開発者を対象に、ベータ版として提供されている。

この記事に星をつける

おすすめ度
スタイル

BT