この記事は「Call for Code Blog – Building Call for Code applications using machine learning(2019å¹´5月2日公開)」の翻訳です。

CFC への応募ソリューションに機械学習と深層学習を使用する

Call for Code テクノロジー・ミニシリーズの第 4 回へようこそ。このシリーズでは毎回 Call for Code に含まれる 6 つのコア・テクノロジーのうちの 1 つを取り上げ、そのテクノロジーの概要、IBM Cloud™ 上で最大限に利用する方法、イノベーションを促すのに役立つリソースの参照先を紹介しています。Call for Code アプリの作成方法に関する他のブログ記事をまだ読んでいない場合は、IoT と Node-RED、AI、ブロックチェーン を話題にしている記事をご覧ください。

何よりもまず、Call for Code のチャレンジをまだ受けて立っていない場合は、このリンク先のページからコミュニティーに参加してください。

この第 4 回では、Call for Code ソリューションに機械学習を統合する方法についてお話します。機械学習には AI と重複するところや関連性がありますが、ここでは、この 2 つの相違点と類似点を明らかにします。?

機械学習について

機械学習とは何でしょうか?次のように IBM の機械学習のページでは、機械学習の定義を簡潔でありながら徹底的に明らかにしていると思います。「機械学習とは、明示的なプログラムを通してではなく、データからシステムが学習できるようにする、AI の 1 つの形態です」。つまり、データを処理するためのプログラムを作成するのではなく、例えばデータをモデルにフィードして、そのデータを最も適切に解釈する方法をモデルに学習させるということです。機械学習には主に 4 つのタイプがあります。それは、教師あり学習、教師なし学習、強化学習、深層学習の 4 つです。

教師あり学習では、分類済み、つまりラベル付きのデータをモデルにフィードします。すでに分類されたデータがモデルに取り込まれるので、後はそのデータ内のパターンを学習することだけが目的となります。教師なし学習はその逆で、データのラベルはあらかじめわかっていません。そのデータが何であるのか、そこからパターンを見つけられるのかどうかを学習することが目的となります。

強化学習は行動の学習モデルという点で他とは異なります。このモデルは、トレーニング中に学習されたフィードバックに基づき、データ分析による試行錯誤を通して改善されていきます。深層学習は強化学習と似ていますが、それよりも遥かに複雑です。深層学習では一連のニューラル・ネットワークを使用して、複雑な非構造化データ内のパターンを学習します。深層学習は人間の脳がデータを理解する仕組みをモデルにしたものであり、人間と同じように考えて分析するようにコンピューターをトレーニングするのは非常に難易度の高いことです。

IBM Cloud 上での機械学習の能力

IBM Cloud 上では機械学習に対処できるだけではありません。IBM Cloud 上の機械学習/深層学習サービスのすべてを Watson™ Studio 内で使用することができます。Watson Studio は、機械学習モデルの作成とトレーニングに加え、データの準備と分析のすべてを柔軟なハイブリッド・クラウド環境内で行うことができるプラットフォームです。しかも、Watson Studio に用意されているデータ・サイエンティスト、アプリケーション開発者、対象分野の専門家向けのコラボレーション・ツールを使用すれば、モデルを作成して大規模なスケールでトレーニングするためのデータを簡単に処理できます。

Watson Studio は、共同でデータを処理して問題を解決するための環境およびツールになります。データを分析して視覚化するツール、データをクレンジングして成形するツール、ストリーミング・データを取り込むツール、機械学習モデルを作成してトレーニングするツールなど、Watson Studio では必要なツールを任意に選択できます。Watson Studio の詳細については、このリンク先のページをご覧ください。このページで、Watson Studio の概要と、使い方を説明する動画をご覧いただけます。

機械学習と AI のクイックスタート・ガイドとしては、IBM Developer 上に用意されている全 3 回からなる動画シリーズをお勧めします。このシリーズでも、IBM Watson Studio の使用方法を学ぶことができます。

機械学習を導入する

IBM Cloud アカウントをまだお持ちでない場合は、最初のステップとしてアカウントを登録してください。登録プロセスを完了するには 2 分もかかりません。ただし、登録する際はくれぐれも有効な e-メール・アドレスを使用してください。サービスを作成するときには例外なく、有効な e-メール・アドレスであることを確認する必要があります。

IBM Watson Machine Learning (WML) オファリングについて調べるには、ここをクリックして IBM Cloud カタログにアクセスしてください。WML は、TensorFlow、Keras、Caffe、PyTorch をはじめ、幅広い機械学習フレームワークで使用できます。さらに、コマンド・ライン、Python アプリケーション、API など、さまざまな方法で操作することもできます。そして何よりも、WML と Watson Studio は統合します!?

Call for Code のフォーカスの 1 つは、自然災害後の復旧の効率化です。この目的を達成するのに非常に役立つテクノロジーの 1 つとしては、顔認識があります。それには、例えば IBM コード・パターンの人の顔を認識し、顔から推定した年齢を表示する Web アプリを参考にできます。機械学習を使用したこのソリューションを、顔のデータベースを保管するように拡張するのも一考でしょう。画像から年齢を推定すると、自然災害で離ればなれになった友人や家族を見つけるのに役立つはずです。

機械学習を使用して人助けをする IBM コード・パターンとしては、合成した健康データを分析して患者が糖尿病を患っているかどうかを予測するというソリューションもあります。このソリューションを、自然災害後に取得した医療データに適応させれば、被災者が災害による病気にかかっている可能性があるかどうかを判断できます。

この NASA の衛星データと機械学習を使用して山火事の強度を予測するソリューションに関する動画も、危険地域にいる人々に注意を喚起することで自然災害のリスクを軽減するという人助けの一例です。

今週は、機械学習の概要、IBM Cloud で機械学習を実装する方法、そして参考となるコード・パターンを紹介しました。第 5 回では、Call for Code 2019 への応募ソリューションに統合できる交通と気象のデータを話題に取り上げます。

それまでは、Twitter で私をフォローするか、GitHub 内に保管されている私のコードをご覧ください。

Tom Markiewicz がこのブログに貢献してくれました。

その他のリソース

ディスカッションに参加する

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です