2019年7月に入社しました。エンジニアリングユニットのTomoroと申します。
ITエンジニアとしての技術はまだ未熟ですが、楽器演奏、動画編集、3DCG制作、2DCG制作、VRコンテンツ制作など、広く技術を学んでます。
多くの企業と商品を卸している企業で使用される、社内および取引先とのコミュニケーションや商品情報、取引情報を管理するためのWebアプリの開発に携わっています。
Outsystemsというローコード開発ツールを使用し、フロント寄りの要素をOutsystems、サーバーサイドよりの要素を主にJavaを使用し開発しています。
機械学習に手を出そうと入門者向けの情報を探しても、多くはPythonのスクリプトを書いたり、数学の知識を求められたり、クラウドサービスを利用する手順にたどり着くと思います。
機械学習でどんなことができるか試してみたい、複雑なことはしないからすでに広く知られた機械学習の技術を手軽に利用したいという目的だと学習コスト、金銭的なコストが高く割に合わないかもしれません。そこでお勧めしたいのがCreateMLです。
CreateMLとは、Mac向けの機械学習モデル作成ツールです。
macOS、iOS、iPadOSなどで使用することに最適化された、機械学習フレームワークのCoreMLで使用することができる様々なアルゴリズムに対して、独自の用途に合わせた学習をオンデバイスで行うことができます。
画像識別、音声識別、テキスト識別など基本的な機械学習の機能を、独自のデータを使って学習させた場合どのように機能するかを簡単に確認できます。
また、学習結果はiOSやiPadOSで利用できる形で書き出すことができるという利点もあります。
今回は猫の模様に関する画像識別を試しました。
黒猫、白猫、黒白猫、キジトラ猫、茶トラ猫を分類する画像識別AIを育てます。
手順は簡単で、分類したい項目名でフォルダを作成し、画像を入れてCreateMLに読み込ませるだけです。
学習データは各項目10枚以上、299x299px以上が推奨されています。
今回は各属性に30枚程度の猫画像を用意し、学習データに8割程度、テストデータに2割程度を入れています。
それらのフォルダをCreateMLの画面にドラッグすれば準備完了です。
Trainで学習を開始できます。
学習後、Previewのタブで画像をドロップするとその画像を識別した機械学習の結果が表示されます。
野良猫の写真をいくつか試したものの精度は60%程度かな?という印象でした。
例えば黒猫は100%黒猫として認識されたものの、茶トラは背景の木を優先して識別したのかキジトラ扱いになってしまいました。
学習データが少ないため精度は甘いですが、シンプルな画像であれば正しく識別できる機械学習モデルが非常に簡単に作成できました。
CreateMLを試したことにより、コードで再現しようとすればどれほど複雑になるか想像できないような処理でも数秒で形になる機械学習の利便性の一端は感じられたものの、
精度を上げるためにはパラメータの見直しや、大量の学習データの追加が必要になり、別の部分でコストがかかるであろうことも見えてきました。
実際アプリに組み込むとなるともうひと手間必要ですが、機械学習の入門編として触れてみる分にはわかりやすく、面白いツールだと思います。