中小企業のAI活用 第8章 Pythonで自分でAIを作る方法もある

  • Share (facebook)
  • Yahoo!ブックマークに登録
| コメント(0) | トラックバック(0)
こんにちは、IT経営コンサルタントの坂田岳史です。

 第6章ではAIの使い方として、Cognitive Servicesを使う方法などをご説明しました。
Cognitive Servicesは無料で使える機能があり、また既に学習済モデルを使う事もできる為、AIの体験や簡単な業務に利用するには非常にいいツールです。ただし、AIの中身がブラックボックスになっている為、AIの仕組みをもう少し深く理解しようとすると、少し難しいですね。その場合、AI利用に適した言語である、Pythonを使う方法があります。

1.従来のITに例えると
 従来のITで例えると、Cognitive Servicesは、MS-Accessで販売管理システムを開発する事に似ています。Accessを使うとプログラミングなしでシステム開発できますが、データベースのアクセス法が分からず、かつ細かい独自の処理ができません。一方、C言語やMicrosoft Visual Basic(以下VB)などを使って開発すると、データベースアクセス法が理解でき(理解していないと開発できませんが)、かつ細かい独自の処理もできます。C言語などを使う事は、PythonでAIを作り使う事に似ています。ということで、ここではPythonを使ったAIについて、その概要をお話しします。尚、詳細については専門書に委ねます。

2.Pythonの開発統合環境
 私は以前、VBで業務システムを開発していました。このVBというプログラム言語を使う場合、Visual Studioという開発ツールを使います。これはVBを使ってプログラミングしたり、それを実行したり、かつ必要なソフト(ライブラリ)などが統合されているものです。プログラムの経験が無い方はピンとこないかもしれませんが、単品商品ではなく、いくつかの商品が入っている商品パックと考えてください。
 Pythonを使う時もPythonだけでなく、プログラミングするツール、実行するツール、ライブラリ(注1)などが必要です。そして、それらがパックになっているツールの1つに、Anaconda(アナコンダ)があります。巨大ヘビのような名前ですが、これはAIを作るためのツールです。尚、Anacondaのインストールや使い方は、専門書をご覧頂くとして、ここではAnacondaとPythonを使い、AIの仕組みをご理解頂く為の話をします。

 既にご存知の通り、AIは予めデータを使い学習します。では、ここで言うAIとは何でしょうか?実はAIと言うのは、「ある機能を達成する為のアルゴリズムをソフトウェア化した」ものです。いきなり難しい話になりましたが、例えば、「人参を輪切りにする」場合、次の手順を取るでしょう。

①人参を洗う
②人参の両端を切る
③皮をむく
④輪切りに切る

この4つの作業を順番に行います。この手順の事をアルゴリズムと考えてください。そして、その手順を紙に書きます。そうすると、他の人もその紙を見れば人参の輪切りができます。
この手順が書かれた紙がソフトウェア化するという事です。つまり、アイスクリーム屋さんの売上予測をするAIは、「予測する手順をプログラムしたソフトウェア」なのです。

3.AIライブラリの活用
そして、このソフトウェアをライブラリと言います。ライブラリとは、人参の輪切りの手順を紙に書いておくと、誰でもそれを見て輪切りができるように、予めある動作をするソフトウェアを誰でも使えるようにしたものなのです。IBM-WatsnのようなCognitive Servicesは、このライブラリが組み込んであり、中身を知らなくても、翻訳などのAI機能が使えます。しかし、PythonでAIを作る場合、自分でライブラリを指定する必要があります。現在、Pythonで使えるAIライブラリは数多くありますが、以下の例では入門的なscikit-learn(サイキット・ラーン)を使っています。
scikit-learnは、予測や識別(アイスクリームの売上予測や、猫の顔を識別するなど)などができるライブラリ集です。下の写真は、AnacondaでPythonを使い、scikit-learnでAIを使うプログラム例です。

pyhson01.jpg

実際にこのようなプログラムを作ってAIを使う事ができますが、中小企業の方が行うのは、簡単ではありません(というかかなり難しい)。ですので、中小企業がAIシステムを作って使う時は、専門のAIベンダーに開発委託するのがいいでしょう。
ただ、AIベンダーもPythonでscikit-learnのようなアルゴリズムを使って開発します。その意味で、自ら開発できなくてもこのようなAIの仕組みを理解しておく事は有益な事です。


トラックバック(0)

トラックバックURL: http://www.itkeiei.org/mt4/mt-tb.cgi/186

コメントする