「人工知能(AI)」、もはや耳にしない日はないほどAIが世の中に浸透してきました。私たちの暮らしだけでなく、産業界でもAIの導入の流れが止まりません。AIによって生活が豊かで便利になる一方で、AIに職が奪われてしまう可能性もあります。
例えば、自動車の「自動運転」が社会に実装されたら、タクシーや運送のドライバーがいらなくなることに加え、個人が車を所有する必要がなくなります。
これは、自動車産業にとって大きな衝撃です。
今後、人口が減少していく日本でのAI活用に非常に高い関心が寄せられております。
AIは急速な勢いで進歩しており、それが我々の生活やビジネスに取りこまれることで、従来のやり方が通用しなくなり革新や変化を求められるものが生まれてくるでしょう。
そしてそれは逆に新たなビジネスチャンスを生み出すチャンスでもあります。
しかし、それらの変化やチャンスを逃さないためには世の中に常にアンテナをはり、そして今のAIに何ができて何が出来ないのかをしっかりととらえることが大事です。
AIは万能なツールではないし映画の世界のように人類を滅ぼそうとは思いません(少なくとも今の段階では)し、限界もあります。そこを見極めて適切にAIを使うことで新たなチャンスが生まれると私は信じています。
そこで私はAIを学ぶための手段の一つとして、 人工知能を独学で学ぶ ことに挑戦しました。
しかし、独学で学ぼうにもプログラミングが全くの初心者で、Excel VBAぐらいは使ったことがある、、という私にとっては、人工知能の勉強を始めようと思い立っても、何から手をつけていいのかわかりません。そこでこの記事では、実際に私が人工知能を独学で学ぶために、どのようなステップで勉強していったのかを紹介します。
はじめに
” 人工知能を独学で学ぶ “とあるように、AIやプログラミングは学んだことのない私が「知識ゼロからどのようにAIの知識を得ていったか」というプロセスを記録した記事です。したがって本記事は時系列的に学習したことや得た知識を更新しつづけていきます。
あなたが興味あるのは、どのAI?
「人工知能(AI)」とひとくくりにされていますが、AI(と思われているものも含めて)にも様々な種類があります。あなたが興味を持っている、業務や趣味で学習したいと思っているAIは何ができるものでしょうか?
はじめにAIとざっくりひとまとめにされているものを、分類して基本的な知識を紹介していきます。
「人工知能って何ができるのだろう?」「自分がやりたい技術は何か?」ということがイメージできない人はまずはこの章を読み進めながら自分が行いたいことを一度確認し、そのキーワードでさらに検索してみてください。
写真・動画に映るモノを判別する : 画像認識
撮影した写真や映像内に映るモノを自動的に識別したり分類するAIのキーワードは「画像認識」です。自動運転や工場生産ラインの自動化への利用がイメージしやすいです。
行動データから次のリコメンドサービス・商品を提案する : 自然言語処理
異なる商品・サービスの説明文を比較して商品Aと商品Bが似ているか、似ていないかを判断するAIのキーワードは「自然言語処理」です。Amazonやメルカリなどの「この商品を買った人にはこれがおススメ」というリコメンド機能がイメージしやすいです。
過去の連続した大量のデータから未来の異常(ズレ)を検知・予測する : 機械学習
過去の膨大なデータから未来の行動を予測したり、通常状態からのズレを検知するのが非常にざっくりいうと「機械学習」がキーワードとなります。統計学的予測がベースとなり、天気と商品の売り上げを予測したり、土地・住宅の特徴から住宅価格を予測するなどができます。
単純な繰り返し作業をPCにサポートしてほしい : RPA(ロボティック・プロセス・オートメーション)
日常業務のファイル間のコピー&ペーストといった単純作業を自動化するAIのキーワードは「RPA」です。Excel VBAやマクロの操作記録機能がRPAに近いイメージです。
自分で学習し進化していく人工の生命体をつくりたい : 人工生命
バーチャル空間において作成した人工の生物が行動し、特定の行動に特化するように体の機能を進化させていくのが「人工生命」です。この動画はARTILIFEというゲームで、人工生命がエサを取れるように進化していきます。
ビッグデータを活用するデータサイエンティスト
人工知能とは少し外れますが、ただ人工知能・AIブームの根幹となる分野が「ビッグデータ」であり、そのビッグデータを収集・分析・評価しビジネスで有用な知見として提供するのが「データサイエンティスト」です。
データサイエンティストには高度な知識が要求されて、学習するのが大変!と思う人も多いかと思いますが、この記事で紹介されているように今後10年、20年先の鍵となる知識・技術です。
AIを使ったサービスを開発したいという人にとってもデータサイエンティストの基礎となる「統計学」と「機械学習」の知識は有用です。
さらに知りたい人は以下のAI/IT人材へのキャリアアップを給付金で目指せる講座をページをご覧ください。
AI ・ 人工知能を独学で学ぶ
ここまで、「 人工知能を独学で学ぶ 」その中身に入る前に、「どんなAIに興味があるのか」「AIを活用してビジネス課題の解決、新たなビジネスに使いたい方」といった点について紹介してきました。
それでは、AI・人工知能の「具体的に何を学ぶべきなのか」見ていきたいと思います。
物事を学ぶためには、まず近年のAI革命の「要素技術」とは何か、という点に着目して調べる必要があります。キーワードは「機械学習」と「Deep Learning」です。
AIの要素技術の「機械学習」、革命を起こした「Deep learning」
従来のAI要素技術の「機械学習」
従来の人工知能について説明します。ここでいう”従来の”とは、後で紹介する「Deep Learning」技術が生まれる2011年ごろより前を指します。
従来の人工知能も、「画像認識」や「音声認識」などの処理は可能でしたが、それには人間による定義づけが必要でした。つまり、「ルール」や「特徴」を人間の手で言語化して入力する必要がありました。
しかし、人間が物事を完全に定義するには限界があります。そのために従来のAIは予め設定された範囲を超える事態や例外的な事柄に対応することが苦手だと言われておりました。
例えば、以下に「ネコ」と「ヒョウ」の写真があります。「ネコ」と「ヒョウ」を正しく見分けることが出来るでしょうか。
殆どの人は直感的に、左が「ネコ」で右が「ヒョウ」だと見分けることができます。
この判断プロセスの間に人間の脳内で何が行われているかというと、
脳内の今までの記憶・経験の中から「ネコっぽい特徴」「ヒョウっぽい特徴」を思い出して、上の写真と比較・参照することで瞬時に判断を下します。
このブログ記事を読んでいる人にとったは上の2つの写真は初めて見るものだと思いますが、その写真でも瞬時に「ネコ」と「ヒョウ」を判別することができます。
我々人間の場合には厳密な言葉の定義が無くても、「何となくの特徴・雰囲気」で判断できます。
これを機械学習的な言葉で言い換えると人間は「一般化された特徴量」を学習して会得しているのです。
それでは、従来の人工知能はどうでしょう?
従来の人工知能の画像認識では、まず始めに「ネコ」と「ヒョウ」の特徴を言語化して人間の手で定義してやる必要があります。例えば、
- 「ネコ」:丸くてつぶらな瞳、全長1m以下、ペットとして飼われている
- 「ヒョウ」:するどい牙を持つ、全長1m以上、野生動物
という定義があれば、上記の写真から判別することはできるかもしれません。
しかし、例えば以下の2枚の写真はどうでしょうか?
この写真も同様に最初が「ネコ」で次が「ヒョウ」です。しかし、「ヒョウ」の写真が赤ちゃんのものを用いており、「ネコ」で定義した[丸くてつぶらな瞳][全長1m以下]といった定義と重なってしまいます。そのため、初期の定義から判断することは難しくなりました。
人間は特定の定義がなくても今までの大量の経験から、非言語的に「ネコ」と「ヒョウ」を分類することができます。
従来の人工知能は、事前に人間が用意した訓練データ(「ネコっぽい特徴」「ヒョウっぽい特徴」を現すモデル)を学習し、そのデータをもとに分類・予測を行っていました。これを「機械学習」と言います。
しかし、あくまで人間により言語化された定義が必要であるため解析には限界があり、人間のように直感的に判断することは苦手とされていました。
これらの課題を解決したのがDeep Learning技術です。
近年のIT革命は「Deep learning」が鍵
Deep Learning技術は人間の脳内の神経を真似たシステムを用いて、大量のデータからAI自身がルールや問題の解を見つけるという技術です。
人間の赤ちゃんが「ネコ」「ヒョウ」の特徴を大量の情報から学んでそれぞれの「特徴」を学んでいくように、AI自身が大量のデータから「ネコっぽい特徴」「ヒョウっぽい特徴」を定義づけるのです。
有名なのは「Googleの猫」で、人工知能に大量の猫の画像を見せることで、人工知能が誰に教わるでもなく、自分で猫の特徴を学習して猫を認識するまでに至ったという記事です。
これらのディープラーニングの事例と可能性をわかりやすく示しているのが以下の本です。
人工知能は人間を超えるか ディープラーニングの先にあるもの (角川EPUB選書)
このDeep Learningが今のAIブームの火付け役で、この技術があるために昨今のAI革命が起こりました。このきっかけとなった、Deep Learningを学ぶことで「今のAIに出来ること」「AIの成長の方向性」を把握できるのではないかと考えました。
Deep Learningと機械学習の違い?
ここでは今まで出てきた、Deep Learningと機械学習についてもう一度整理したいとおもいます。
:大量のデータをInputしてAI自身が特徴量を学習する機械学習
:開発者が定めた「トレーニングルール」により特定のAIが特定のタスクを実行できるようにすること
以下のHPでは、「赤いリンゴ」と「青いリンゴ」を判別することを例に機械学習とディープラーニングの違いを説明しています。
ディープラーニングはたくさんのデータを見ることによって、どこに着目すればよいかを自分で学習し、人間からの指示を待たずに自動でどんどん賢くなっていく。
機械学習では何に着目するか、例えば「色」に着目するように指定しなければならない。
https://innovation.mufg.jp/detail/id=93
「ディープラーニング」は「機械学習を実施するための1つの手法」であります。つまり、初心者が昨今で話題に乗っている人工知能を独学で学ぶには、「機械学習」を学ぶことこそが現実的かつ効率的な道であると考えました。
上の記事を見る限り、ディープラーニングには大量のデータが必要で個人が大量のデータを集めたり、それらのデータを処理するために高い処理能力をもった特別なコンピューターを用意しないといけないのでは、と思われたと思います。
しかし今は自分でデータを一から集めなくてもネット上で公開されている「オープンデータ」を活用すれば学習は進められますし、「Google colaboratory」を使えば自分のPCで行えないような重たい処理も可能です。
適切なリソースさえ把握していれば、独学でも人工知能は学べます!
そしてリソースの前に重要なのが、「どのプログラミング言語を学ぶか」です。
人工知能(機械学習)を学ぶための基礎言語「Python」
どんなに複雑で高度な処理を行うプログラムでも、それらは必ずある複数の「命令文」によって構成されております。それらの命令文を組み、実行するためには「プログラミング言語」をある程度理解する必要があります。
プログラミング言語は、「JavaScript, Visual Basic, C++」があります。プログラミング言語にはそれぞれ特徴が異なり、分野ごとに用いられているプログラミング言語は異なります。
人工知能(機械学習)に適したプログラミング言語が「Python」です。Pythonは「スクリプト言語」と呼ばれる種類のプログラミング言語です。
・Pythonはほかの言語に比べて文法が簡単で覚えなければならないことが格段に少ない・本格的なソフトウェアの作成に使える(GoogleやNASAの内部で利用されている)・様々なサービスに利用されているために学習しやすく、また多種多様な「ライブラリ*」が用意されており初心者でも使いやすい*プログラムで使える”既成部品”で、高度なプログラミングを0から作る必要なく、既成のライブラリを上手に活用することで少ない労力で高度なプログラミングが可能となる。
機械学習にも使われており、シンプルで現在も様々な分野で使われているばかりか、人工知能ブームによる将来性も期待されている、という夢のようなプログラミング言語です。
ということで、「Python」という入口を選択して人工知能に関する勉強方法を調べてみました。
Python の学習におすすめのサイト・書籍を紹介
さて、この何事にも通じますが「楽しみながら手を動かす」ということが学習には一番です。そこで、「ゲームで遊びながら手を動かし」、つまずいたり疑問に思った箇所は「導入本で確認する」という2つの手法を組み合わせて学習しました。
楽しみながら書いてみるー学習サイト・ゲーム
楽しみながら勉強するなら、ゲーム形式のコンテンツが打ってつけです。
これらのゲーム・学習サイトの中でも特に初心者にお勧めしたいのが、paizaのe-LearningとCODECOMBATです。
日本語サイトで安心・ゲーム風に学べるPaiza
e-Learningの他にもゲームや転職について等様々な学習機能がある。課題クリアで貰えるポイントが転職時の評価に使えるらしいです。
paizaのゲームの中には、もし次の常駐先が女子エンジニアばかりだったら、コードガールコレクション等があり、日本語で学びながら遊べます。
paizaのe-learningは一講座当たり2~3分で、動画による講義と同じ画面にある入力画面でプログラミングの実践が出来ます。登録無料で受講できるために、自分の学習方法に適しているか試しやすいです。
初心者にお勧め RPG風に遊びながら学べる CODE COMBAT
CODE COMBATはRPG系であり、他の英語系ゲームと比較してBGMや、効果音SEも本格的で一番ゲームとしての完成度が高いです。
初心者にお勧めの理由として、以下の点が挙げられます。
- 基本無料でプレイ可能
- 初心者に優しいコードの入力ガイド
- 初心者に優しいヒント
日本語でヒントがかかれているためわかりやすいです。ヒントが一部英語の部分もありますがイラストも示されているので、問題なく進めます。
最初のステージをクリアした後も、この丁寧なガイドが続くので初心者でも安心して上達していくことができます。
CODE COMBATの更に詳しい内容は以下の記事で紹介しております!
基礎の用語や関数の学習 -書籍・学習サイト
Paiza や CodeCombat で楽しみながら学習していても、「この “for”ていう構文はどういう意味だろう」、「この関数は何に使うの?」というようにつまずいてしまう場合がありました。そんなときに私が参照したのは『いちばんやさしいPythonスタートブック』です。
この書籍は複数の記事でお勧めされていた本で、プログラミング未経験の人の導入に向いていると評価されておりました。
確かに、いきなりPythonのプログラミングの組み方や計算方法に入るのでなく、Pythonのインストール方法から、快適な使用のための環境設定など、プログラミンソフトを触ったことのない本当の意味での初心者にも優しい構成となっております。
とは言え、本当に基礎的な部分から始まっているので人によっては内容が薄すぎるように感じられてしまいます。
プログラミングが初めてで、プログラミングの基礎的な考え方について具体例を交えながら学びたいという人にもお勧めです。
私も悩みましたが結局、多くの人の編集やチェックを経て完成した「書籍」を信頼して、上記の本を買いました。数千円の初期投資で信頼できる土台作りをしてから、各学習サイト等を比較して自分にあったものを選択していければいいかな、と思います。
人工知能を学習するモチベーションを具体的に持つ
ここまで読んできたら人工知能を学ぶには、「機械学習」「Deep Learning」が鍵でそしてプログラミング言語は「Python」を選択することがいいということがわかったかと思います。これで、人工知能の学習の方向性は定まりました。
しかし、それだけでは難しいAIの勉強は続けられません。いつかは困難に直面することもあります。
そんな時に重要なのは、「モチベーション」を保ち続けられるかであり、それは「AIを学習して達成したい具体的な目標があるか」にかかっております。
AIでビジネス課題の解決、新規ビジネス創造
人工知能やAIを用いて自身や会社がかかえるビジネス課題を解決したい、もしくは新たなビジネスチャンスをつかみたい!という人には、細かいコーディングの知識よりも課題抽出から運用、評価といった実務・プロジェクトマネジメント的なスキルが重要です。
- どのような人工知能や AI であれば解決できるか
- その人工知能や AI を作るために必要なデータとして何が必要なのか
- そのデータをどう集め、どのように前処理を行い学習させるのか
- 何をもって、ビジネス課題を解決したと断定できるのか
手っ取り早くAIのビジネスでの可能性をつかむには AI 、データサイエンスに関する無料のセミナーに参加するのが一番です。以下のページに無料説明会が紹介されていますので学習のモチベーションを上げるために参加してみることをおすすめします。
人工知能・データサイエンスに関する記事一覧
本ブログ内で公開している、人工知能・データサイエンスに関する記事一覧をカテゴリーごとに紹介します。
Pythonの学習方法
これらの記事ではPythonの学習の流れや、その際に使用したいJupyter notebookの環境やゲームで
Jupyter notebook がPython学習におすすめ[人工知能を独学で学ぶ(3)]
またゲーム感覚で学びたい人に向けた記事はこちらです。
CODE COMBAT で楽しくプログラミング学習[人工知能を独学で学ぶ(4)]
paizaの無料 e ラーニング講座 でPython学習[人工知能を独学で学ぶ(5)]
データサイエンスの学習方法
人工知能の根幹とも呼べるデータサイエンティストの背景や、学習に必要なビッグデータを紹介しています。
生産管理・プラントオペレーターがデータサイエンスを学ぶ際のオープンデータ
機械学習・データサイエンスのスクール・給付制度紹介
機械学習やデータサイエンスに興味がある方に有用なスクールの情報や、経済産業省の専門実践教育給付金制度について紹介します。
5つの プログラミング教室の無料体験会 に参加してわかったこと
データサイエンティストを目指す人におススメ! データミックス を選んだ5つの理由
AI・人工知能の動向が掴める!無料の説明会・体験会まとめ【AIを使う側になろう】
国が求めるAI/IT人材へのキャリアアップを給付金で目指せる講座がある!?
専門実践教育訓練給付制度 を活用して給付金をもらいながらキャリアアップを目指す!
人工知能・データサイエンスの資格試験
第三者に客観的に能力があることを示せる方法の一つが資格を有していることです。
人工知能のスキルは「 人工知能プロジェクトマネージャー試験 」で証明しよう!【AIを使う側になる準備】
最後に
今回私が学んだのは「現在のAI革命の背景には、Deep Learningがある」ということと、「Deep Learningの体系は機械学習に分類される」ということでした。
どうやら、近年の人工知能ブームはこのDeep Learningが急速に発展したものであり、その根本には機械学習という分野の知識を獲得することが必要だと考えました。
今後もこれらの機械学習を独学で習得するための記事の中から、私が実際に参照したり採用した方法についてお知らせします。
さらに プログラミング / 人工知能(AI) / 機械学習 について興味がある人は下のまとめページも読んでみてください!
コメント