「ライブラリ型」で提供される機械学習サービス
ライブラリ型は、プログラムに組み込める形(ライブラリ)で機械学習のアルゴリズムを提供している形態です。学習済みのモデルからスコアリングのみを提供しているものから、学習からスコアリングまでまとめた処理を提供しているものまであります。
古典的な機械学習手法による分析を専門チームが行っているところでは、より先進的な手法で新しいデータ分析にチャレンジする場合があると思います。組み込み型やプラットフォーム型で対応できないレベルで新しいことにチャレンジするには、大部分をプログラムで組み上げる必要があります。
プログラムで組み上げる際、アルゴリズムは論文などで公開されていますが、その数式は複雑で、一からプログラムで作り上げていくには時間がかかります。ただ、先進的なものの中でも人気の高いアルゴリズムの多くは、すでにライブラリとして提供されています。 アルゴリズムをゼロからプログラムとして書かないといけないとしたら、まだライブラリ化されていないアルゴリズムを動かす場合か、既存のライブラリを高速化させる場合くらいです。
ライブラリ型のメリット
ライブラリ型のメリットは、複雑な数式をプログラムに落とす手間を省ける点です。また、最近はGPUで処理できるようにパフォーマンス面も考えられていることから、大規模なデータ分析に対応できるものもあります。プログラムに加える形なので、自由度としては工数が許せばあらゆることができます。最新のディープラーニングアルゴリズムを活用して、コンテストで上位を狙う場合には、ライブラリ型の機械学習の習得が必須になります。
ライブラリ型のデメリット
デメリットとしては、組み込み型やプラットフォーム型に比べて、工数が大幅にかかることと、最新のライブラリを他の処理と組み合わせられるプログラムスキルが要求されることがあります。そのため、人材探しがたいへん難しいです。
また、自由度が高いため、ある程度の分析スキルがないと、誤った機械学習モデルを作成してしまうなどの危険性もはらんでいます。ライブラリのバグに当たった場合にも自分自身で回避する技術力が求められるため、単純なチュートリアルを回すだけならば簡単にできますが、実際に実務に応用していくとなると相当高いレベルのスキルが要求されます。
まとめ:投資として行うべし、それなりの覚悟も必要
ライブラリ型の応用範囲は、プラットフォーム型よりもずっと広いです。画像認識や音声認識で非常に高い精度を求める場合には、ライブラリ型が必要になります。ただ、プログラミングスキルが求められるため、一度もプログラムを書いたことがない人にはかなりハードルが高いでしょう。また、どのプログラミング言語にもまんべんなくライブラリが揃っているわけではなく、現時点ではRとPythonに集中しています。そのため、これらの言語の知識がないプログラマも、若干の壁を感じるかもしれません。
ライブラリ型への取り組みは研究投資に近く、工数もプラットフォーム型以上にかかるため、業務として行うにはそれなりの覚悟が必要です。ただし成功すれば、競合が簡単に追いつけない新しい施策につながる可能性があります。今すぐそのチャレンジが必要かどうか、正しく冷静に見極めましょう。とはいえ、ライブラリ自体はOSSとして公開されているものが多いので、プログラマとしての勉強の1つと思って、一度は触ってみることをお勧めします。
ここまでに説明した組み込み型、プラットフォーム型、ライブラリ型のメリットとデメリットを、表にまとめると次のようになります。
| 提供形態 | 導入効果 | 適用範囲 |
求められる 分析・ITスキル |
|---|---|---|---|
| 組み込み型 |
|
|
|
|
プラット フォーム型 |
|
|
|
| ライブラリ型 |
|
|
|
重要なのは、これらを踏まえて1種類の形態だけを採用するのではなく、自社の要件とリソースを照らし合わせ、複数の形態を組み合わせてビジネスに適用していくことです。例えば、組み込み型である業務ユーザーの効率を上げながら、別の業務ユーザーの効率も上げるためには、他のサービスと連携し、その連携された分析をプラットフォーム型で行うことなどが考えられます。
