Lab Resources
Python で AI を作るときに役立つライブラリ、サンプルコード例、練習方法などを紹介!
AI エンジニアやデータサイエンティストを目指すために、Python で AI を作ることに挑戦している初心者もいるでしょう。ただ、AI 作る方法がまったくイメージできず、開発に踏み出せない方もいるのではないでしょうか。
まずは、Python で AI を作るときの土台に着目してみてください。AI を作るのに必要な事柄を把握するだけでも開発のハードルが下がります。プログラミングにも取り組みやすくなるでしょう。
そこで今回は、Python で AI を作るときに知っておきたい基礎知識や、AI の例、ライブラリ、流れがわかるサンプルコードなどを紹介します。どうしても作るのが難しいときの対処法も紹介しているので、あわせて参考にしてみてください。
Python で AI を作る前の基礎知識
初心者が Python で AI を作るうえで最低限理解しておきたい基礎知識があります。
まず、Python の基本的なコーディングの文法スキル、開発に使えるツール、環境などを把握していないとプログラミングを始められません。
AI の意味を理解していなければ、AI が行うデータ処理や、作れる AI について湧いてこないでしょう。
また、AI は数値データを用いて予測するシステムでもあり、微分や線形代数、確率・統計など、数学や統計学に関する知識も必要です。
AI の作り方を学ぶ前に AI や Python、統計学などの概要や学習方法をおさらいしたい方は下記の記事からご確認ください。
AI の勉強は初心者の社会人でも間に合う?何から始めるか迷うときのロードマップ、学習方法を公開!
データサイエンティストに必要な Python とは?学習方法や R・SQL とどっちを学ぶべきかを解説!
統計検定とは? メリットや難易度、勉強時間、データサイエンティストを目指すための学習方法などを解説!
Python で作る AI の例
Python で AI を作るうえで、そもそも AI でどのようなシステムを作れるのか、気になるところでしょう。
AI の代表的な例としては、需要予測システムや画像認識システムなどが挙げられます。
それぞれについて解説します。
需要予測システム
需要予測システムは、既存のデータを学習させることで、特定の条件における需要データを予測するシステムです。
たとえば、店舗であればこれまでの販売実績や気象情報などのデータを活用して、最適な商品発注数を予測するシステムが挙げられます。商品不足や廃棄量の増加などの課題を解決できるでしょう。
そのほか、タクシー会社であれば過去の運行データや気象情報、エリアの人口情報などを組み合わせ、地域におけるタクシー需要を予測するシステムも挙げられます。
必要なタクシーの数を正確に予測できれば、乗客の待機時間や空車のタクシーを減らして、売上を高められるでしょう。
需要予測の概要やできること、手法などを詳しく知りたい方は下記の記事もぜひお役立てください。
需要予測とは?何ができる?なぜ AI を使うのか?手法・メリット徹底解説!
画像認識システム
画像認識システムは、コンピューターが画像に含まれる対象を認識するシステムです。
特定の物体が画像内に存在していることを認識したり、画像内に存在している対象の位置や個数を検出したりします。
たとえば、食べ物の不良品を検出させるシステムなどが例として挙げられます。
人が目視で不良品をチェックする必要がなくなるため、画像認識システムを導入すれば人件費を削減できるでしょう。
Python で AI を作るのに役立つライブラリ
Python で AI を作るにはコーディングが必要ですが、プログラミング量が多いとたくさん時間を要してしまいます。
その点、コーディング作業の効率化に役立つのがライブラリです。
ライブラリとは、コーディングで頻繁に使う機能を簡単に呼び出して使えるプログラム群です。AI を作るときもライブラリを活用することで、ゼロから機能を開発する必要がなくなり、コーディングの効率を高められます。
AI の開発でよく使うライブラリの例をまとめてみます。
ライブラリ | 内容 |
---|---|
Numpy | Python で数値計算を行うための機能がまとめられたライブラリ。行列の掛け算、逆行列などの計算を素早く行える。 |
matplotlib | Python でグラフや図を描画するための機能がまとめられたライブラリ。AI 学習の進み方や画像データを可視化したいときに役立つ。 |
Open CV | 画像や動画に関する処理機能がまとめられたライブラリ。動画から物体を検出することも可能。 |
scikit-learn | Python で AI のアルゴリズムを使った学習、予測、モデルの評価などに必要な機能がまとめられたライブラリ。サンプルのデータセットも豊富に用意されている。 |
TensorFlow | Google の主導で開発された機械学習のライブラリ。画像認識や異常検知、強化学習などで活用される。 |
Pytorch | Facebook の主導で開発された機械学習のライブラリ。テキスト生成モデルの作成や顔認証システム、物体検知システムなどで活用される。 |
このように Python で AI を作るときに活用できるライブラリは幅広く存在しています。一つでも多く把握しておくことで開発をスムーズに進められるでしょう。
なお、Pytorch や TensorFlow に関しては資格試験でも扱われることがあります。たとえば、AI の専門資格である E 資格では、前提のフレームワークとして PyTorch と TensorFlow を利用した実装が扱われており、試験問題が表示される前にいずれかを選択するルールとなっています。
E 資格について詳細を知りたい方は下記の記事もぜひご覧になってください。
E 資格とは? 取得メリットや難易度、勉強方法、G 検定との違いなどを解説!
Python で AI を作る方法のプロセスとサンプルコード例
初心者が、Python で AI を作ることができると聞いても、イメージが湧かない方がほとんどでしょう。
Python で AI を開発できることを実感するには、具体的なコーディングを把握する必要があります。
ここでは、Python で AI を作る方法のプロセスについて、サンプルコード例を含めてご紹介します。
ライブラリの呼び出し
Python で AI を作るにはライブラリを活用すると効率的であることをお伝えしましたが、利用するにはルールがあります。
一般的にライブラリを使用するときには、ライブラリを呼び出しなければなりません。
【サンプルコード】
import numpy
import のあとにライブラリを記述して呼び出すと、各種機能が使えるようになる仕組みです。
「import numpy as np」のように記載することで、その後のコーディング処理で別名を使ってプログラミングを簡略化することもできます。
入力データと出力データの格納
需要予測の AI では、モデルに学習する入力データと出力データを用意します。
たとえば、気温とドリンクの販売データを学習させるのであれば、〇度のときに〇個売れるといったデータをインプットします。
Numpy の機能を使えば配列によるデータ整理が可能です。
【サンプルコード】
temp_input = np.array([20, 23, 25, 29, 30, 33]).reshape(-1, 1)
drink_output = np.array([120, 130, 145, 170, 180, 200])
温度を入力データとして格納し、ドリンクの販売本数を出力データとして格納できます。
データセットの読み込み
ライブラリを活用することで、AI 予測モデルの実装に必要な標準実装のデータセットを読み込むこともできます。
たとえば、scikit-learn ライブラリでは、アイリスデータセットが用意されています。アイリス(iris)はアヤメ科アヤメ属の単子葉植物の総称です。データセットには 3 種類の品種の花弁とガクの長さが含まれています。
【サンプルコード】
iris_data = load_iris()
load_iris()という関数を使ってデータセットを取得しているサンプルコードです。
予測モデルの作成
ライブラリを活用すれば予測モデルを構築できます。たとえば、scikit-learn ライブラリの LinearRegression という機能を用いれば、線形回帰モデルを構築可能です。
線形回帰は、既知データから関連する別の未知データを予測するデータ分析手法として知られています。入力データに対する出力データの直線的な変化を予測可能です。
【サンプルコード】
skmodel = LinearRegression()
skmodel.fit(temp_input, drink_output)
fit 機能によってモデルに学習データを与えられます。
データを用いた予測の実施と結果の表示
predict() を使えば、モデルに新たな入力値を与えて予測値を表示できます。predict は英語で「予測する」「予報する」「予知する」などを意味する言葉であり、単語からも機能がイメージしやすいでしょう。
予測値を計算したあとは print で出力可能です。
【サンプルコード】
temp_test = np.array(21).reshape(-1, 1)
drink_test = skmodel.predict(temp_test)
print("21℃におけるドリンクの予測販売数は", drink_test[0] )
21 度のテストデータから 21 度のときに売れるドリンクの予測販売数を割り出し、結果を表示させられます。
画像の読み込み
画像認識システムの AI を作るときに画像の読み込み処理も必要になります。
OpenCV というライブラリを使えば、cv2.imread()によって画像認識をするときの読み込みも行えます。
【サンプルコード】
import cv2
image = cv2.imread('gazou.jpg')
OpenCV を使うには cv2 という表記でインポートします。
括弧内に読み込みたいファイル名を記載します。JPEG や PNG などさまざまな画像フォーマットの読み込みに対応可能です。
画像内から物体を検出
OpenCV というライブラリでは画像内から特定の物体を検出することもできます。
たとえば、OpenCV には顔の特徴を学習したモデルが用意されており、モデルを使って顔の範囲を数値データとして検出できます。
【サンプルコード】
face = cv2.imread('kao.jpg')
kao_cascade = cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')
faces_detect = kao_cascade.detectMultiScale(face, 1.1, 3)
顔の画像と顔の特徴を学習したモデルを読み込んでから、detectMultiScale という機能で顔を検出しています。
顔だと予測できる範囲について、左上の x 座標、y 座標、顔の幅、顔の高さを変数に格納する仕組みです。
最終的に読み込んだ画像について、顔の部分を枠で囲って出力させることも可能です。
Python で AI を作るときの練習方法
Python で AI を作るときのプロセスの一部をサンプルコードの例とともにご紹介しました。部分的ですが、AI を作るときのイメージが湧いてきたのではないでしょうか。
サンプルコードを参考にプログラミングをいじることも重要ですが、それだけでは本格的に AI を完成させるレベルには到達できません。実用的な AI を作れるようにするためには実践が不可欠です。
ここでは AI エンジニアやデータサイエンティストを目指す方が、本格的な AI を作るために試したい練習方法をご紹介します。
コンペに参加して AI を作る
Python で社会に役立つ AI を作るのに最適なのが AI コンペです。AI コンペでは、企業や団体から寄せられた課題を解決する AI を作って実用性の高さを競い合います。
一般的に企業や団体が提示するデータセットを利用して AI を作ることができます。車の運転画像などから速度を推論するアルゴリズムを作成する課題がよい例です。
AI コンペでは、社会課題の解決に直結する AI の作成が求められるため、サンプルコードの模倣だけでは得られない実力を習得できるでしょう。
AI コンペには各種プラットフォームを利用することで気軽に参加できます。世界的に知名度の高い Kaggle や日本で登録者数が多い SIGNATE などが有名です。
Kaggle と SIGNATE の概要を知りたい方は下記の記事でご確認ください。
Kaggle とは? メリットや使い方、勉強法などを解説!【初心者向けのコンペ一覧も掲載】
SIGNATE とは?始め方や勉強方法、Kaggle との違いがわかる比較情報を解説!
AI ゲームを作る
Python で 1 つの AI 作品を作ることでコーディングスキルを磨く方法も検討できます。たとえば、AI アルゴリズムを搭載したゲームを作るのがよい例です。
誰もがルールを理解しやすい将棋ゲームに AI を実装する練習が挙げられます。
将棋に強い AI を作るという目的を掲げれば、試行錯誤を繰り返して AI の作り方を深く習得していけるでしょう。
将棋に限らずオセロの AI アルゴリズムを作ることも検討できます。興味の湧く対戦ゲームを選んで AI を実装してみてください。
Python で AI を作るのに役立つ本
Python で AI を作る方法を体系的かつ実践的に学ぶには本も役立ちます。
AI の基礎知識をおさらいしつつ、ライブラリの活用や具体的なソフトの実装を通して、AI 開発を学べます。
Python で AI を作るのに役立ちそうな本をいくつかピックアップしてご紹介するので、独学に向けた手引書を探している方は検討してみてください。
Python で学ぶ AI 開発入門 ライブラリを活用した AI の作り方
Python のライブラリを活用して AI を作る方法について解説した本です。
本記事で紹介した scikit-learn や PyTorch、TensorFlow といったライブラリについて紹介しています。
機械学習や画像認識、時系列データ分析、言語処理といった AI プログラミングを学べる内容です。
AI の技術や概念、用語の意味などがわかる内容となっており、Python で AI を作る前に基礎知識からおさらいするのにも適しているでしょう。
Python で学ぶ AI 開発入門 ライブラリを活用した AI の作り方
強い将棋ソフトの創りかた Python で実装するディープラーニング将棋 AI
将棋 AI のしくみ、強い将棋 AI を作る方法を解説した本です。
ディープラーニングの基本、開発ツール、PyTorch などを学び、Python で将棋 AI を作るために将棋ライブラリ、ソースコード、モジュールインストール、AI モデルの実装などを学べる内容となっています。
実際に実装した将棋 AI を使った対局の流れまで紹介していて処理結果を試せる点が実用的です。
自分で変更を加えてアイデアを試すなどすれば AI を作る練習になるでしょう。
強い将棋ソフトの創りかた Python で実装するディープラーニング将棋 AI
Python で AI を作るためのサンプルコードを効率的に知るテクニック
AI を作るにはここまで紹介した以外にも必要なサンプルコードを収集する必要もあります。
基本的に Python で AI を作るときのサンプルコードは書籍や Web サイトなどで確認できます。
ただ、サンプルコードを知るために書籍を購入するのはコストがかかり、Web サイトでは自分が知りたいサンプルコードが見つからないこともあります。
そこでおすすめなのが生成 AI ツールで質問を投げかけてみることです。
たとえば、「Python で対話型 AI を作るときのサンプルコードを表示して」というようにプロンプトを入力すると、簡易的なプログラムを表示してくれます。
「#対話パターンを定義」「#チャットボットのインスタンスを作成」「#ユーザーとの対話を開始」など、コーディングの工程まで表示されるため、プログラムの内容を理解しやすいです。
Python で AI を作るときにコーディングが思い浮かばない場合は、生成 AI ツールに気軽に質問してみるとよいでしょう。
なお、生成 AI ツールの回答は必ずしも正しいとは限りません。初心者の方はあくまで理解を補助するためのツールとして利用することをおすすめします。
Python で AI を作るときに気になる Q&A
Python で AI を作るための練習方法、本、サンプルコードの調べ方などがわかり、実践できそうな気がしてきたのではないでしょうか。
ただ、Python で AI を作るにあたって、細かい疑問が残っている方もいるかもしれません。
Python で AI を作るときによくある疑問について Q&A 形式でお答えします。
Q1.Python のコーディング環境を整えるのが難しいときは?
A1.グーグルの Colaboratory がおすすめです。
グーグルの Colaboratory は Python を記述して無料で試せるコーディングツールです。
Google アカウントがあれば Web ブラウザからアクセスして、すぐにでもコーディングをして実行できます。
本格的に AI を作る前に、まずは Python の動作から少しずつ試すのに使ってみてはどうでしょう。
Q2.AI を作るのに使えるプログラミング言語は Python だけ?
A2.Python だけではありません。
C 言語や JavaScript、R 言語などさまざまなプログラミング言語で AI を作ることができます。
ただ、プログラミング言語は習得の難易度や AI を作るときの相性などが異なります。言語によっては AI 開発に適したライブラリを利用できないケースも少なくありません。
学習時間を無駄にしないためによく比較して選びましょう。
Python で AI を作るのが難しい場合はメンタリングも検討
Python で AI を作るのが難しく、挫折してしまう方もいるでしょう。
自分だけでは AI を作れない、AI を作る仕事に就けないと感じた方は、実際に AI やデータサイエンスに詳しい専門家に相談するのがおすすめです。
ビッグデータラボでは、AI の作り方やデータサイエンスに詳しい現役のデータサイエンティストから講習を受けられるメンタリングプログラムを提供しています。
自分で AI を作る、あるいは AI を作る仕事に就くといった目標に向かって、最短で成果を出すための学習スケジュールを提案できます。
無料相談を受け付けているので、AI を作る方法を詳しく知りたい方、AI エンジニアやデータサイエンティストを目指したい方などは、ぜひ一度お気軽にお問い合わせください。
まとめ
今回は、Python で AI を作るのに必要な基礎知識やライブラリ、サンプルコード例などをご紹介しました。
Python で AI を作るときは基本的にライブラリを活用しますが、サンプルコードを確認するだけでもライブラリの使い方がわかってきます。
いきなり Python で AI を作るのが難しいと感じる方は、ひとまずサンプルコードを収集して、部分的でもよいので処理のイメージをつかめないか、探ってみるとよいでしょう。
どうしても AI を作るのが難しい場合、何から勉強すべきか迷う場合は、専門家からメンタリングを受けることも検討してみてください。
On this page