AI学習の入門編に!Create ML授業活用例

  • Apple
  • Apple Blog
  • AI学習の入門編に!Create ML授業活用例
  • AI学習の入門編に!Create ML授業活用例

    機械学習を授業に取り入れてみたい方におすすめ!プログラミングツール「Create ML」

    2023年以降、ChatGPTや生成AIが広く普及し、誰もが機械学習やAIを活用・体験できるようになりました。

    また2024年6月のWWDCではApple Intelligenceが発表され、AppleのAIや機械学習に対する取り組みも話題になってきています。
    今回はAppleが公開している機械学習機能の中から、複雑なコードを書かずに機械学習モデルを構築・トレーニングすることができる「Create ML」をご紹介します。

    はじめに

    Appleはかなり前から様々な機械学習機能をユーザーに公開しており、かつ現在販売されているMacはAI PCとしても最適化されています。

    機械学習を活用したAPI|Apple Developer外部サイト

    ※MacがAI PCとして最適な理由については、こちらのブログでも解説しています。

    AI PCとしてMacが最適な理由通常リンク

    これらの機械学習機能はユーザー自身で設計・アプリに組み込むことができるので、仕事や学校での授業・研究に合った形で活用することができます。
    機械学習とそれを応用したアプリの作成に挑戦してみたい方、Macを使った機械学習を授業に取り入れてみたい教職員の方はぜひ参考にしてみていただければと思います。

    Create MLとは

    Create MLは、Appleが提供している無償のプログラミングツール「Xcode」上で利用できるフレームワークです。
    複雑なコードを書かずにMac上で機械学習モデルのトレーニング、およびユーザーに合った機械学習モデルを構築することができます。
    XcodeとCreate MLを組み合わせて使うことで、Macで独自の機械学習モデルを構築し、さらにモデルをトレーニングすることで様々な要素を学習させることができます。

    また下記のとおり複数のモデルタイプが用意されているので、画像の種類やパターンを判別したり、テキストや音声の認識・分類を行ったりと、モデルタイプを選択して簡単な要素を追加するだけでオリジナルの機械学習モデルを構築できます。
    そのためプログラミングや機械学習の深い知識が無い方でも、簡単に使い始められる点も特徴です。

    • 画像:画像分類、オブジェクト検出、手の形の分類、スタイル変換
    • ビデオ:アクション分類、手の動きの分類、スタイル変換
    • Spatial(空間):オブジェクトトラッキング
    • モーション:アクティビティ分類
    • 音声:音声分類
    • テキスト:テキスト分類、単語のタグ付け
    • 表形式データ:表形式データの分類と回帰分析、レコメンデーション

    またCreate MLによって構築される機械学習モデルは「Core MLモデル」と呼ばれ、macOSやiOS、visionOS向けのアプリケーションに組み込んで活用することができます。

    すでに構築済みのCore MLモデルも公開されていますので、既にアプリ開発経験があり、オブジェクト検出などをアプリ内で試してみたいという方はこちらを利用することもできます。

    Create ML|Apple Developer外部サイト Core MLモデル|Apple Developer外部サイト

    今回はCreate MLが提供するモデルタイプの中から「画像分類」を使って、異なる2種類の物体の画像を認識・分類するCore MLモデルをトレーニング・構築してみます。

    機械学習とは?学びにどう活かせる?

    機械学習は、ある要素に関連する大量のデータを読み込む(学習する)ことで、その要素に含まれる規則性やパターンを見つけ出したり、ある種の正解を決めることができる技術です。
    MacとCreate ML・Xcodeを使うことで、この機械学習について複雑な操作なく、かつ身近な要素をテーマに学ぶこともできます。

    プログラミングやアプリ開発の基礎知識はもちろん「何をテーマや課題として取り上げ、機械学習がその解決にどう役立てられるか」といった面で生徒の思考力・判断力の育成にも繋げられますので、例えば探求授業や総合的な学習の一環として、下記のような授業の組み立てにも役立てていただけるのではないでしょうか。

    • 音声分類:英単語の正しい発音や抑揚を学習させ、生徒の英語のスピーキング能力向上に役立てる

    • モーション:器械運動やスポーツでの身体の動きを学習させ、正しい身体の動きや姿勢を身につける

    • 表形式データ:飲食店の来店者数や購買履歴を読み込み、今後の売り上げや新商品の販売予測を組み立てる

    • 画像分類:雲や太陽の動きを学習させ、雨や雪・季節の移り変わりなど自然現象が起こるタイミングを予測する

    実際に千歳科学技術大学様では、北海道にある湖:支笏湖(しこつこ)の写真をCreate MLに読み込ませて分析し、鏡面現象(景色などが鏡のように湖の水面に反射する現象)の発生時刻を予測する取り組みも行われています。

    産学連携で学生たちが地元・千歳市の観光産業発展のため課題の発見と解決に挑む|Claris外部サイト

    準備するもの

    • macOS Sonoma 14.5以上がインストールされたMac
    • Xcode 16以降
    • 異なる2種類の物体の画像データ(1種類あたり100枚程度)

    「Xcode」はAppleが提供している無償のプログラミングツールで、iPad・MacをはじめAppleデバイス用アプリケーションの開発やテストのために広く利用されています。

    前述のとおり、Create MLはXcode上で提供されていますので、Create MLを利用するためには最新バージョンのXcodeと、対応するmacOSがインストールされたMacを用意してください。

    Xcode|Apple Developer外部サイト

    また物体の画像データについては、今回2種類のスニーカーを用意しました。
    個人で行う場合は、身の回りにある物体(写真を撮影できるもの)を選びましょう。
    学校の授業として行う場合は、生徒自身で好きな私物や文房具を持ってきてもらってもよいと思います。

    画像データについては、各種100枚程度を目安に用意してください。
    画像の枚数が多いほどモデルの精度は向上しますが、一方でトレーニングにかかる時間は長くなります。

    画像データに関するその他の条件としては、以下のとおりです。

    • 画像データはJPEGPNGHEICなど、QuickTime Playerで開くことができるファイル形式で準備する

    • 1種類あたり最低10枚の画像データを用意する

    • 299x299ピクセル以上の画像データを使用する

    Creating an Image Classifier Model|Apple Developer外部サイト

    今回は、下記のような2種類のスニーカーを様々な角度から撮影した画像を、それぞれ120枚程度用意しています。

    手順

    画像データを事前に整理する

    Create MLでトレーニングを行う時には、
    ・トレーニング用の画像(100枚程度)
    ・トレーニング結果をテストするための画像(物体ごとに1枚ずつあれば問題ありません)
    をそれぞれ用意しておく必要があります。

    そのため用意した画像は、下記のようにあらかじめフォルダ分けをしておきましょう。
    授業で行う場合は事前準備の確認と合わせて、生徒自身で授業開始時に行っていただくとよいと思います。
    またテストするための画像は、トレーニング用の画像には含まれていないものを用意してください。

    「Training」フォルダの下層に、スニーカー2種類の120枚程度の画像をそれぞれ格納しています。

    Test」フォルダの下層に、テスト用にスニーカー2種類の画像をそれぞれ1枚ずつ格納しています。

    Create MLと画像データを使ってトレーニングとテストを行う

    まずはCreate MLを起動します。
    MacでXcodeを起動し、メニューバーからXcode > Open Developer Tool > Create MLを選択・起動します。

    Create MLを起動すると、はじめに既存のモデルを使用するのか・新たに作成するのかの確認を求められます。今回は新たに作成しますので「New Document」を選択します。

    次にモデルタイプ(Template)を指定します。
    今回は画像分類なので「Image Classification」を指定し「Next」を選択します。
    続けて任意のプロジェクト名を入力し、さらにプロジェクトの保存場所を指定し「Create」を選択します。

    「MyImageClassifier」という名称で、空のモデルが作成されました。
    ここに用意したスニーカーの画像を取り込ませ、トレーニング(学習)を行います。
    ウィンドウの「Training Data」の+ボタンから取り込む画像を指定できますので、あらかじめ用意しておいた「Training」フォルダを選択します(ファイルをドラッグ&ドロップで追加することもできます)。

    取り込みが完了しましたら、「Train」ボタンを選択しトレーニングを実行します。
    トレーニングにかかる時間は、画像の点数や複雑さによって異なりますが、基本的には数十秒で完了します。

    トレーニングが完了すると、下記のような画面になります。
    Training Accuracyはトレーニング精度・Validation Accuracyは検証精度を表しています。
    それぞれ100%に近い値であれば、問題なくモデルとして使用できる精度を持っていることになりますが、これらの値が低い場合には、Create MLのトレーニングパラメータを調整する必要があります。

    モデルの精度の向上|Apple Developer外部サイト

    トレーニングが完了しましたら、トレーニングを経て正しく画像を識別できるようになっているか、テスト用画像を使ってテストしてみましょう。
    トレーニング完了後の画面から「Evaluation」を選択し、中央の+ボタンからテスト用画像をフォルダごと取り込みます。
    取り込みが完了しましたら、「Test」を選択することでテストが実行されます。

    テストを実行して数秒待つとテストが完了し、結果が表示されます。
    Test Accuracy(評価精度)が100%に近い値であれば、正しく画像を識別できていることになります。

    以上でCreate MLでの機械学習モデルのトレーニング・テストは完了です。

    トレーニングした機械学習モデルをCore MLモデルとしてダウンロードする

    トレーニングを経て構築された機械学習モデルは、アプリケーションなどに組み込むためのCore MLモデルとしてダウンロードすることができます。
    先ほどまでトレーニングを行っていたCreate MLのウィンドウで「Output」を選択し、続けて「Get」を選択することで、Core MLモデルをダウンロードできます。

    以上でCore MLモデルのダウンロードは完了です。

    今回はダウンロードしたCore MLモデルと、下記で公開されているサンプルコードを使ってiPhone用アプリを作成し、実際にiPhoneのカメラで撮影したものを識別できるかどうか試してみました。

    Classifying Images with Vision and Core ML|Apple Developer外部サイト

    (本物のスニーカーは手元にないので、画像になります)

    このとおり、それぞれのスニーカーを正しく識別できていることがお分かりいただけるかと思います。
    またモノクロ画像では識別精度が落ちているので、物体の色も画像分類のキーになっていることが伺えます。

    まとめ

    いかがでしたでしょうか?
    今回はCreate MLの数あるモデルタイプの中から、画像分類を例に機械学習モデルのトレーニングと構築を行いました。
    複雑なコードは全く書かずに、あらかじめ用意した画像と画面操作のみで完結できていることがお分かりいただけたかと思います。

    Create MLのそれぞれのモデルタイプの詳細や、Core MLを活用したアプリケーションの作成については、過去のWWDCでも紹介されていますので、ぜひ合わせてご覧ください。

    Introducing the Create ML App(WWDC2024)|Apple Developer外部サイト Creating Great Apps Using Core ML and ARKit(WWDC2019)|Apple Developer外部サイト

    また弊社では今回ご紹介したCreate MLのご紹介をはじめ、教育機関様へMacやiPadの活用を支援するための活用講習も実施しております。

    教員向けiPad・Mac活用研修通常リンク

    記事は2024年12月20日現在の内容です。

    Apple Blog Topへ

    おすすめ記事を見る