CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
人工知能(Artificial Intelligence)という言葉が最初に使われたのは、1956年の通称ダートマス会議が最初だったというのが通説のようです。現代においても、その言葉自体が持っている未来感は色褪せていないと思うので、個人的には好きなのですが、ブームになると至る所で目にするようになるので、すこし食傷気味という感じも否めません。人工知能の研究と産業への応用は、これまで2回ほど熱狂と落胆を繰り返していて、今回は3回目のブームということになっています。3回目が刹那の熱狂で終わるのかどうかはさておき、今回のブームを支えているのは、間違いなく機械学習アルゴリズムの進歩です。自然言語で書かれた文章ですら、ある程度長いものであれば、それがどんなトピックに関するものなのかを正確に判別することが可能です。こういった予測モデルを作るには、沢山の教師データが必要です。教師データは、人手で丁寧に分類されている方がモデルの精度が上がります。また、そもそも大量のデータが無ければ話が始まりません。インターネットの出現によって、大量のデータが簡単に入手できるようになり、通信コストが低下することによって、大勢の人が大規模なデータの整理に携わるようになりました。このような側面から見ると、昨今の機械学習アルゴリズムの進化は、インターネットの出現が大きな力になっているというのは、誰しも認めるところだと思います。
世界中で親しまれている機械学習の名著Pattern Recognition and Machine Learning(PRML)は、2006年に出版された本で、英語版はリンク先から無料で閲覧可能です。この本を見るとよくわかりますが、機械学習の基本的な理論を支えているのは数学です。機械学習アルゴリズムを完全に理解したいと思ったら、もちろん数学を知る必要があります。ただ、車を運転するのに、エンジンの構造の細部まで知る必要はないのと同じで、機械学習に関わる人が皆、数学に精通する必要はないと私は思っています。そこで本コラムの以降では、人工知能ブームの今、どうして数学を学ぶ必要があるのか?また、どこまで学ぶべきなのかについて、考えて行きたいと思います。
Deep LearningやRandom Forestsなど、さまざまな機械学習アルゴリズムがありますが、多くの場合は簡単に利用できるライブラリが提供されています。Pythonは言語自体が簡潔で書きやすいので、ライブラリを使ったプログラミングもかなり気軽にできます。ちょっとしたプロトタイピングから、機械学習を使った本格的なシステムの運用まで、幅広く対応できるところが、Pythonの良さであると言えます。機械学習アルゴリズムを使うだけであれば、それがどのような仕組みになっているのか、数式をみて理解出来れば十分です。中身を全く理解せずに使うことも可能ではありますが、ネット上に沢山の情報があるので、分かりそうな物を探して、アルゴリズムの理解にチャレンジするべきでしょう。この時、数式が読めないと話が始まりませんので、簡単な数式は読めるようにしておくと良いと思います。数式を読んで、だいたいどんな仕組みで動いているのか理解できれば、アルゴリズムの動作を決めるハイパーパラメータの設定も納得しながら進められます。
便利なライブラリがあるので、それを使えば良いのですが、既存のアルゴリズムを自分で実装すると、かなり理解が深まります。数式で表現された理論を、実際のコードに落とし込むことは簡単ではありませんが、楽しい作業です。少なくとも、その機械学習アルゴリズムの裏にある数学的な理論は深く理解する必要がありますし、数値計算の基本など、その他に知っておかなければならないことも多いので、かなり勉強にはなるでしょう。さらに一歩進んで、独自のアルゴリズムを作れるようになれれば、それは立派な研究論文になります。ただ、ここまで来ると、数学の知識も相当必要なので、大学の専門分野の門を叩く必要がありそうです。
冒頭で、人工知能の進歩は機械学習が支えていて、機械学習アルゴリズムは数学の理論に裏打ちされているという話を書きました。つまり、少なくとも数学でモデル化できなければ、機械学習アルゴリズムとしては活用できません。これは、かなりはっきり言える事なので、あとはデータがあれば成果が出ます。ただ、人工知能という言葉は、しっかりした定義がないので、人々の過度な期待や行きすぎた宣伝文句が暴走すると、その本質が見えなくなります。しかし、もし数学の知識があって、数学で何ができるのかがわかっていれば、怪しい人工知能が、きちんとした機械学習の理論に根ざしていないことを見破れるので、ブームに踊らされる心配もありません。これは、機械学習でプログラミングをするエンジニアだけではなく、すべての人が数学を学ぶべき理由になると思っています。
インターネットが一般的に使われるようになってから約30年が経ちますが、人工知能やブロックチェーン、量子コンピュータなど技術の進歩は加速度的な勢いで進んでいるように見えます。最近はコンピュータやアルゴリズムに関する新技術が多いので、これらが本質的にどのようなものなのか見極めるためには、数学の知識が重要な役割を果たします。数学に苦手意識がある方も、昔はやっていたけど忘れたしまったなぁという方も、是非数学に関心をもっていただけると、社会が良い方向へ向かうのではないかと考えているところです。
筆者書籍紹介 いちばんやさしいパイソンの本 Python スタートブック ――Pythonの基本をしっかりマスター まったくのゼロからでも大丈夫 辻真吾 著 B5変形判/352ページ 定価(本体2,500円+税) ISBN 978-4-7741-9643-5 詳しくはこちら(出版社WEBサイト) |
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes