今回はこういう疑問に対して答えていこうと思います。
AIの勉強は奥深く、完全にマスターしようと思えば膨大な時間を費やす必要があります。
しかし、AIを作ると言うことにだけ焦点を当てれば、難しいものではありません。
なぜなら、AIを作るためのパッケージが多く提供されているからです。
決してサクッと作れるとは言いませんが、それでも簡単なプログラミングができれば基礎的なAIは作ることができます。
本記事ではAIを作るために必要な初歩的なスキル、AIの作り方、そしてどう勉強していけば良いのかを紹介していきます。
本記事のポイントは以下の通りです。
本記事のポイント
- データサイエンティストである私が最低限AIを作るのに必要なスキルを紹介します。
- 初心者がAIを作るにはステップがあるのかを一から解説します。
- 今後AIを詳しくなるためにどういった勉強すれば良いのかといったことを最後にお話しいたします。
それでは、解説に入っていきます。
目次
AIとは?
AI(artificial intelligence)は、日本語で表すと人工知能となります。
つまり、人工的に作られた知能であるといえます。
AIについては様々な定義がなされており、例えば、ドラえもんのような自律的に思考し行動することができるものを指す場合もあります。
また人工的に作られたシステムをAIと定義する場合もあります。
今回は、現状IT業界でAIと呼ばれているものに合わせるために、AIについて知的に振る舞う特定のシステムと定義した上で解説していこうと思います。
そのためドラえもんのように多くのことができるものをAIと呼ぶのではなく、ある特定の動作に特化したシステムを作るにはどうしたら良いのかを解説していきます。
具体例を上げると、特定の画像を見てそれが犬であるのか猫であるのかというのを判断するシステムや、 過去見た映画からお勧めの映画をレコメンドするシステムなどです。
AIを作成するために必要なスキル
AIを作成するために必要なスキルは以下の3つです。
AIを作成するために必要なスキル
- プログラミング
- 数学
- データ収集
プログラミング
1つ目のプログラミングは、文字通りAIを動かすためのプログラムを書くスキルです。
こちらはイメージしやすい方も多いかと思います。
AIもプログラミングの一種である以上、プログラミングコードの積み重ねによって作られるものになります。
そのため、AIを作成するためにはプログラムを書くスキルが必要となります。
1番学ぶべき言語は、Pythonです。
特殊な場合を除き、基本的にAIのプログラムはPythonによって書かれます。
そのため、AIを作りたいと思っている人はPythonをマスターしましょう。
数学
2つ目の数学は、AIを理解するためのスキルです。
簡単なAIを作るだけであれば、数学の知識はほとんど必要ありません。
しかし、自分の好きなようにAIが作りたいであったり、AIの精度を上げていきたいと言うふうに考えた場合には、数学のスキルが必要となってきます。
基本的に、AIは数式の上に成り立っています。
特定のデータに対して、数式によって規則を与え、その結果作られたモデルをAIと呼んでいます。
そのため、AIを完全に使いこなそうと思った場合には、数学を勉強する必要があります。
特に、データサイエンティストとしてAIを活用していきたいと考えている人は、数式レベルでAIを理解する必要があります。
しかし、試験的にAIを導入したい、身近なものにAIを適用したどれぐらいの精度なのか知りたい、といったライトAIを作りたい人に関してはこの数学のスキルは最低限あれば良いと思います。
データ収集
データ収集は、AIを作る土台のデータを持ってくるスキルです。
AIは、基本的にデータがあればあるほど精度の高いものを作ることができます。
最近はどこの企業もデータを多く集めようと考えています。
GoogleやアマゾンなどがAIが強い理由もこのデータをたくさん持っているからです。
データがあればあるほどAIの精度が高くなるため、実用的なAIを作ろうと思ったときは、AIを作るのに必要なデータを集めてくるスキルが必要になってきます。
このデータを集めてくる方法にも様々なものがあります。
コードを書いてデータを集めてくる方法や、人脈を使ってデータを提供してもらうようにお願いする方法、またお金を使って他社のデータを提供してもらう方法などがあります。
どんな方法でもいいですが、必要なデータを集めるを十分集める事は重要なります。
個々のデータが集まらなければどれだけ良いプログラムを書いたとしてもどれだけ数学のスキルを持っていくとしても良いAIを作る事はできません。
逆にデーターが大量にあれば多少プログラムや数学のスキルがなくても良いAIを作る事は可能になります。
AIの作り方
AIの作り方は以下の4ステップです。
AIの作り方4ステップ
- データを収集する
- AIに入力できるようにデータを加工する
- AIに学習させ精度を高める
- AIが予測結果を表示する仕組みを作成する
データを収集する
1つ目のデータを収集するは、文字通りAIを作るためのデータを集めるステップです。
AI作成で必要なスキルでも解説した通り、AIを作るためにはデータが必ず必要となります。
したがって、AIを作るためにはまずデータを集めることを最初にする必要があります。
この集めるフェーズはできるだけ早くやる方が良いです。
というのも、データを集めるには時間がかかる場合が多いからです。
他社からデータを買う、ネットからデータを拾ってくるという方法以外で、データ集める場合には時間がかかります。
例えば、カスタマーの購買履歴をもとに商品をレコメンドするAIを作る場合を考えてみましょう。
このAIを作るためにはカスタマーがどういった商品を見ているのか、そしてその後どういった商品を購入してるのかというデータを集める必要があります。
しかし、この閲覧及び購買データは一日で十分な量が集まるようなものではありません。
少なくとも1ヵ月、季節性やトレンドなどを考慮しようとした場合には最低でも1年間のデータを集める必要があります。
また、データを収集するためのシステムを作る必要もあります。
データがすぐに集まる場合は少ないため、早めに動き出す必要があるのです。
AIに入力できるようデータを加工する
2つ目のAIに入力できるようデータを加工するは、AIが学習に使用できる形に特徴量を加工するステップになります。
先程のカスタマーの閲覧、購買履歴をもとに商品をレコメンドするAIを例に説明しましょう。
カスタマーが商品Aを買って、その次に商品Bを買って、その次に商品Cを買ったと言う情報をそのままAIに学習させることはできません。
AIに学習させるためには例えば、商品を買った個数であったり、商品を閲覧したのが何日前であるかという情報であったり、一番長時間閲覧していた商品は何なのかと言う情報であったり、 といったような機械が理解しやすい数値に変換する必要があります。
特徴量の変換はAI作りの中でセンスが問われる部分です。
このデータを加工し、特徴量を作る方法によって、AIの精度は大きく変わると言っても過言ではありません。
この特徴量を作るセンスは、必ずしもデータを扱う職種の人が上手なわけではなく、その分野に精通したマーケターであったり営業であったりといった人の方がセンスが良い場合もあります。
そのため、特徴量を作る場合には、ドメイン知識を持った営業やマーケターなどに協力してもらい、データサイエンティストが特徴量を作っていくといった方法をとるのが一般的です。
AIに学習させ精度を高める
3つ目のAIに学習させ精度を高めるは、加工したデータをもとに目的にあったAIを選び出し、そして学習するステップになります。
AIにも様々な種類のものがあります。
画像を得意とするAI、文章などを得意とするAI、音声などを得意とするAI、時系列データを得意とするAIなど、様々なAIが存在しています。
このステップでは、様々なAIの中から適切なAIを選び出すということを初めに行います。
以下のようなパッケージがpythonで提供されているので、これらのパッケージを使用してAIを作ることができます。
AIを作るためのパッケージ
- scikit-learn
- lightGBM
- TensorFlow
- Chainer
もちろん上記のもの以外にも機械学習のモジュールはたくさん存在します。
そして、AIをより問題に適したものにするために、 ハイパーパラメータと呼ばれる値を調整していきます。
専門的な話なので割愛させていただきますが、このパラメータを調整することによって、問題に適したAIを作ることができるようになります。
AIが予測結果を表示する仕組みを作成する
4つ目のAIが予測結果を表示する仕組みを作成するは、AIによって予測された結果をシステムの中に組み込み、AIが正常に作動するようなシステムを作るステップになります。
AIのモデルは一度使用するだけの場合もありますが、大方の場合は作ったモデルを何度も使用します。
例えば、先程の商品をレコメンドするAIを例に説明すると、ウェブサイト上でカスタマーが次に購入する確率の高い商品をレコメンドするために、作成したAIを使用します。
おすすめの商品は閲覧のタイミングによって出てくる商品が違いますよね。
その現象は、AIの予測を何度も回すことによって、その時の閲覧履歴に応じたオススメの商品を出しているからです。
タイミングによって、予測結果を変えるためには、一日に一回、多い場合には一時間に一回、AIによって予測する必要があります。
予測を自動化するために、この予測結果を表示する仕組みを作る必要があります。
予測結果の表示の仕組みはWebのフロントエンドバックエンドといったようなWeb系の知識なってきます。
今まで説明してきた4つのステップで、AIを作り、AIを実運用することができるようになります。
AIの作り方を勉強する方法
AIの作り方を勉強する方法は以下の3つです。
AIの作り方の勉強方法
- プログラミングスクール
- udemy
- 本
これらの勉強方法は、学習の目的に合わせて使い分けていく必要があります。
なぜなら、それぞれの勉強方法の特性が違うからです。
どう違うのかをパッと見てわかるように、それぞれの勉強方法の特性を、理解までの速さ、理解の深さ、挫折しにくさ、料金という4つの観点に基づき、以下表にまとめました。
理解しやすさ | 理解の深さ | 挫折しやすさ | 料金 | |
プログラミングスクール | ◎ | ○ | ◎ | △ |
udemy | ○ | ○ | ○ | ○ |
本 | △ | ◎ | △ | ○ |
これが分からないことには、勉強方法を選べないですよね。
それぞれの勉強方法にあった人は、以下のような人です。
目的別勉強方法
- とにかく実用レベルまで挫折することなく学びたい→プログラミングスクール
- 要点を効率よく知って、コスパよく勉強したい。→udemy
- じっくりと基礎から一歩ずつ着実に勉強したい→本
一つずつ解説していきます。
プログラミングスクール
まず、プログラミングスクールでの勉強に向く人は、AIを実用レベルまで挫折することなく学びたい人です。
プログラミングスクールには、大きな特徴が二つあり、これにより実用レベルまで挫折することなく学ぶことができます。
プログラミングスクールの特徴
- ポートフォリオが作れるレベルまで手を動かしながら講義が進む。
- わからない部分を質問できる環境が整っている。
一つ目の、ポートフォリオが作れるレベルまで手を動かしながら講義が進むことにより、実用レベルまでの勉強が可能になります。
AI作成に限ったことではありませんが、プログラムの作り方を身につけるためには実際に手を動かす作業が必要となってきます。
理論として説明を聞くことも大事ですが、何よりも成長を助けるのは自分で書いたプログラムの量です。
プログラミングスクールでは、理論を教えつつも定期的にプログラミングコードを書く時間も確保されているため、プログラミングスキルが定着しやすい構造になっています。
また、実用的なプログラムを使用するプログラミングスクールが多いため、実践に入っても使えるようなコードを書くことができます。
二つ目の、わからない部分を質問できる環境が整っていることにより、勉強を挫折する確率を大幅に減らすことが可能となります。
プログラミングの勉強の挫折する大きな原因の一つとして、一度分からない部分があると全く進まなくなるということが挙げられます。
プログラミングは、一文字間違えると途端にプログラムが動かなくなります。
慣れている人であれば、間違えてそうな部分が簡単にわかるのですが、初心者は何が原因でプログラムが動いていないのかを特定するのが難しいです。
プログラミングスクールでは、わからないことがあった際に、質問できるメンターが用意されていることが多いです。
何が分からないのか分からないという状況でも質問できるため、問題の解決のスピードは格段に上がります。
問題が解決されれば、挫折することもなく勉強ができるというわけです。
もちろん、悩むという時間も成長のためには必要ですが、わからないことで30分以上悩むのは時間の無駄です。
プログラミングスクールに通わない場合でも、初心者は気軽に質問できる友達やパートナーを一人は確保しておきましょう。
AIについてのプログラミングスクールについては、以下の記事で解説しているため、参考にしてみてください。
-
【受講料が70%OFF】AI人材のスキルをつけるオススメのAI人材育成講座を現役エンジニアが解説
★この記事は5分で読み終えることができます。現役エンジニアである筆者がAI人材のスキルを身に付けたい人に向けた解説記事になります。政府の補助を受けて70%の受講料が返還される制度について解説しています ...
続きを見る
Udemy
次にudemyでの勉強に向く人は、要点を効率よく知って、コスパよく勉強したい人です。
Udemyとは、動画で勉強できるプラットフォームです。
Udemyには以下の特徴があり、この特徴により要点を効率よく知った上で勉強できます。
udemyの特徴
- 研修資料レベルの講座がアップされている。
- 多様なジャンルが存在している。
一つ目の、研修資料レベルの講座がアップされていることにより、体系化された知識が動画で学ぶことができます。
Udemyには、大企業の研修担当が講座をアップしていることも珍しくなく、質の高い講義が多く存在します。
そのため、きちんと情報が整理された講座が多く、要点だけを効率的に学んでいくことができます。
二つ目の多様なジャンルが存在していることにより、自分の興味があるジャンルに絞って勉強ができます。
勉強を始める理由は人によって違います。
そのため、勉強したいジャンルも人によって微妙に違ってきます。
Udemyには多様なジャンルの講座が存在するため、多様なニーズに合わせて勉強することができます。
全くの初心者の方は、何から勉強すればいいかわからないかと思うので、ジャンルを選ぶのが難しいかもしれません。
しかし、プログラミングを触ったことがあるというレベルの人であれば、udemyで自分のニーズにあった講座を選んでカスタマイズし、勉強するというやり方が良いです。
以下の記事でおすすめの講座などは紹介しているので興味がある方は確認してみてください。
-
【全17時間】Udemyでおすすめの機械学習講座を現役データサイエンティストが紹介
機械学習という言葉は、データサイエンティストにとってはもちろん、データサイエンティスト以外の人も耳にしたことがあるのではないでしょうか。 それくらいこの機械学習に対するニーズは年を経るごとに高まってき ...
続きを見る
本
最後に本での勉強に向く人は、じっくりと基礎から一歩ずつ着実に勉強したい人です。
本での勉強には、以下の特徴があり、この特徴により基礎から着実に勉強することができます。
本の特徴
- 情報量が多い
情報量が多いことにより、理解度が高まります。
人が物事を理解するきっかけは様々です。
例えば、空の色を伝えるときに、青色と言われてイメージしやすい人と、海の色と同じだよと言われて理解しやすい人がいると思います。
赤ちゃんであれば、青色というより海の色って言った方が理解する場合がありますよね。
大人であれば、青色というだけで理解できると思います。
このように、人の前提知識によって理解しやすい説明と理解しにくい説明があるため、情報量が多いとより多くの人が理解できるようになります。
しかし、読むのに忍耐力が必要となってくるので、必ずしも情報量が多いことがいいことであるとは限りません。
情報量が多いということは頭を使う時間が多いということなので、ある程度知識が入っている人におすすめの勉強方法かなと思います。
まとめ
今回の記事では、AIを作るために必要な初歩的なスキル、AIの作り方、AIの作り方を学ぶための勉強方法を三つ紹介しました。
勉強方法についてはどの方法が絶対に良いというわけではなく、自分にあった勉強方法を選択することが重要となってきます。
金額や、自分の勉強の忍耐力、求める知識レベルなどを考慮して、勉強方法を選択していってください。
AIに関しては、以下関連記事を書いてますので、AIについてもっと知りたい方は参考にしてください。
-
AI エンジニアの年収は?海外の事例も合わせながら具体的に解説!
未経験くんAIエンジニアは年収が高いって聞くけど本当? 上記のような疑問を持った人向けの記事です。 本記事には以下のようなことが書いてあります。 AIエンジニアの国内外の年収を企業別、年代別に紹介。A ...
続きを見る
-
AIによってなくなる仕事となくならない仕事を紹介
未経験くんAIによってほとんどの仕事がなくなるが無くなるって聞いたけど本当? 本記事では、このような疑問にお答えします。 ※本記事のポイント どういう理由でAIによって仕事がなくなると言われているのか ...
続きを見る