こんな疑問、要望に答えるべく、AIの自作ステップを解説し、無料で使えるAPIやサービスを紹介していきます。
具体的には、次の順番でお話ししています。
- AI(人工知能)を自作する3つのステップ
- AI(人工知能)自作するために必要なもの
- 手軽にAI(人工知能)を自作するためのAPIやサービス
AI(人工知能)の自作をしてみたい、と考える初心者のあなたに向けた記事になっていますので、ぜひ一読ください。
記事のもくじ
AI(人工知能)を自作する3つのステップ
AIを自作するためには、大きく3つのステップが必要となります。
データを集める
AIは大量のデータを元に、規則性を見出して判断するものです。 AIが学習するためには、大量のデータが必要となります。
企業では、ビッグデータを用いてAIに学習させることが多いものですが、個人の場合はどうすればよいでしょうか。
あなたが作りたいAIの種類によって、提供されているサービス(データセット)を利用することをおすすめします。
画像認識などであれば、Googleの画像検索を使うことも良いでしょう。 チャットボットなどであれば、日本語のデータセットがさまざまな場所で提供されているものです。
たとえば、国立情報学研究所のデータセットなどがあります。
AIを作る上で、データを集めることは非常に重要となりますが、十分なデータ量を集めることは大変です。
さまざまなサービスを使えば、集めることは比較的難しくありませんが、それなりの労力が必要であることは認識しておいてください。
学習済みモデルを作る
データを用意したら、実際にAIに機械学習を用いて学習させます。機械学習には「教師あり学習」と「教師なし学習」があります。
教師あり学習は、人間が教師となって入力データと正解データをAIに与え、そのデータを元に学習をすすめる学習です。
教師なし学習は、入力データのみをAIに与え、AIが自ら共通項を持つクラスタに分類したり、頻出パターンを見つけたりする学習となります。
これらの学習方法を用いて、入力データに対する出力結果の精度を高めなければなりません。 学習モデルは、あなたが直接プログラミングする方法以外にも、各企業が提供するモデルを使う方法もあります。
さらに、学習済みモデルを提供している場合もあるため、あなたの作成したいAIの種類によって、利用できる学習モデルがないか探してみましょう。
この記事でも、後ほど無料で使える学習モデルのAPIやサービスをいくつか紹介します。
作成したモデルをサービスに組み込む
AIはそれ単体では使えません。
学習済みモデルは、入力された情報に対して、自動的に出力するものであり、ユーザーによって入力されるためには、サービスに組み込む必要があります。
サービスに組み込む場合、あなたがどのプラットフォームで動かしたいかを明確にしなければなりません。
たとえば、Web上で公開するのであれば、Webサービス(Webアプリケーション)に組み込みますね。 スマホのアプリとして提供するのであれば、アプリに組み込む、といったことになります。
個人で作成したモデルをサービスに組み込む場合は、Webサービスに組み込むことがおすすめです。
なぜなら、Webサービスはそのほかのプラットフォームに比べて、実装しやすいからです。
通常、Webサービスとして公開する場合は、サーバーの準備などが必要ですが、最近ではパブリッククラウドを利用して、サーバーレスで公開することも可能となっています。
AI(人工知能)を自作するために必要なもの
AIを自作するために必要なモノやスキルについて紹介します。
ここで紹介する必要なものは最小限のものです。
大量のデータ(ビッグデータ)
先ほども解説したとおり、AIを作るためには大量のデータが必要となります。
データを集めるためには、公開済みのデータセットを利用することがおすすめです。
データセットを公開しているサイトをいくつか紹介しますが、ほとんどが海外のサイトとなっています。
数少ない日本のデータセットを提供しています。一般人でも利用できるデータセットもありますが、主に研究者向けのデータセットです。
誰でも無料で利用できるパブリックデータセットです。50億を超えるWebサイトのクロールデータなどがあります。
さまざまな企業や研究機関がデータを公開しています。世界中のデータサイエンティストが競い合うプラットフォームです。
画像認識用のデータセットであり、機械学習をする上で誰もが利用すると言われるほど有名です。 データのサイズも小さいため、比較的扱いやすいデータセットとなっています。
顔認識アルゴリズムのためのデータセットです。67万人を超える顔画像のデータがあります。
他にも探せばいろいろとありますので、ぜひ探してみてくださいね。
プログラミングスキル
AIの学習モデルを作るためには、プログラミングスキルは欠かせません。
AIプログラミングには、Pythonをおすすめします。
Pythonは初心者でも扱いやすく、AIプログラミングのためのライブラリやフレームワークが豊富です。解説図書や解説サイトも多いため、学習しやすい言語と言えるでしょう。
Pythonで利用できるAIのフレームワークは「Keras」や「TensorFlow」などがあります。
AIのフレームワークやライブラリについて知りたい方はこちらを参照ください。
数学の知識
機械学習やディープラーニングといったAIのアルゴリズムを理解するためには、高校~大学卒業レベルの数学知識が必要です。
具体的には以下の数学知識が求められます。
- ベクトル
- 行列
- 微分
- 線形代数
- 確率
- 統計
など
Pythonのフレームワークなどを用いることで、数学的な知識が無くともAIを構築することは可能ですが、根本的な理解をするためには必要不可欠の知識です。
AIプログラミングで必要な数学知識に焦点を当てた書籍も販売されているため、そちらで学習するとよいでしょう。
AI学習におすすめの書籍については、こちらを参照ください。
手軽にAI(人工知能)を自作するための無料API・サービス
AIの学習モデルを0から自作することは難しいものです。プログラミングの内容も高度であり、挫折する人も多いことが予想できます。
そこで、すでに作成済みの学習モデルを無料で利用できるAPIやサービスを紹介します。
AIプログラミングを始める前に、ぜひ一度試してみてください。
wit.ai
wit.aiは自然言語処理をベースに、言語や音声入力に対するAIを自作することができるサービスです。
チャットボットやホームオートメーションなどの分野で活用できます。
wit.aiはほとんどプログラミングをすること無く、AIの学習モデルを作成可能です。
GitHubアカウントかFacebookアカウントによるアカウント登録が必要となります。
新規アプリの登録、アプリで展開する会話ストーリーの作成、会話の作成といった流れで実装していきます。
言語・音声処理のAIを自作しようと考えているのであれば、一度使ってみてはいかがでしょうか。
Watson API
Watson APIは、IBM Cloudから利用できる、複数のAPIサービス群です。
チャットボット(照会応答系)作成用の「Watson Assistant」、画像認識の「Visual Recognition」、音声認識の「Speech to Text」などがあります。
その他にも、16のAPIやサービスを提供しています。(2019年10月7日時点)
IBM Cloudは、IBM社が提供するパブリッククラウドであり、従量課金制のサービスです。
Watson APIは、無料のライト・アカウントで利用可能であるため、ぜひ一度試してみましょう。
A3RT
A3RTは、株式会社リクルートテクノロジーズが無料公開しているAPIサービス群です。
チャットボット作成用の「Talk API」、文章校正のための「Proofreading API」、画像とテキストを相互に検索する「Image Search API」などがあります。
2019年10月7日現在で、11のAPIを提供しています。
APIを利用するためのAPIキーは、メールアドレスを登録することで取得可能です。 いくつかのAPIはデモが用意されているため、APIキーを取得して試してみても良いでしょう。
AIメーカー
AIメーカーは、誰でも簡単にAIを作ることができるサービスです。
2019年10月7日現在で、画像認識と文字起こしのAIが作成可能となっています。
画像認識では、ラベル付けによって自動的に収集される画像データから、自動的に学習を行います。
プログラミング不要で、簡単なAIを作成できるため、AIの自作方法の概要を学びたいときに利用すると良いでしょう。
まとめ:0からAI(人工知能)を自作することは大変
AIを自作するには、「データを集める」「学習済みモデルを作る」「サービスに組み込む」と大きく3つのステップが必要です。
AIを自作するために必要なものとしては「大量のデータ」「プログラミングスキル」「数学の知識」があります。
プログラミングスキルがなくとも、無料で公開されているAPIやサービスを利用することで、AIを自作することは可能です。
しかし、オリジナルのAIを作成するのであれば、プログラミングスキルは欠かせないもの。
まずは、無料公開されているAPIやサービスを通じて、AIの概要を掴み、オリジナルのAIを作るためのプログラミングスキルを身につけていくと良いでしょう。