昨今、時代の寵児となった技術があります。その技術とは、AI(Artificial intelligence、人工知能)、機械学習、ディープラーニングです。以下、これらを代表してAI技術と呼びます。
多くの情報を取得可能となり、多くの計算が可能となった現代において、これらの技術は重要な役割を果たしています。現代では、これらの技術を生業とされている方も多くいるようです*1。
しかし、AI技術を生業としていない方であっても、AI技術に接する機会は多くなってきました。今回は、そのようなAI技術を生業としていない方が、フワっとAI技術を勉強するときに役立つ教材を紹介します。
AI技術とはどういうもの?
AI技術の前提知識
次にAI技術を学ぶ上で前提となる知識を紹介します。AI技術のベースとなる知識は、主に線形代数学、微分積分学、統計学です。これらのうち、特に線形代数学の理解が、
これらの技術を学んでいると、AI技術もフワっと学んでいけると思います。
これらの内容が未習の場合は、まずYouTubeチャンネルのヨビノリなどで学ぶとよいと思います*4。ヨビノリの中の「中学数学からはじめるAI(人工知能)のための数学入門」という動画を見た後に、線形代数学シリーズの動画を利用して学べばAI技術のベースとなる知識は見につきます。
また、このブログの以下の記事も、線形代数学や微分積分学の勉強を進める指針として役に立つと思います。
フワっとAI技術を学べる教材
ここから本題ですが、AI技術について学べる教材を3つ紹介します。
Coursera Machine learning
Couseraはオンラインで受講可能な講義サイトです。いくつかの講義は無料で公開されています。スタンフォード大学のAndrew ngさんによる講義”Machine learning”も無料で公開されている講義の一つです。
この講義を受講することで、AI技術の基礎的な概念である「教師あり学習/教師なし学習」「線形回帰分析/ロジスティック回帰分析」「ニューラルネットワーク」「サポートベクトルマシン」「交差検証」「Kmeans法」「主成分分析」などを網羅的に理解することができます。これらの概念を理解しておくと、大抵のAI技術の思想をフンワリ把握できます。めちゃくちゃ役に立ちます。
この講義では、「AI技術に関する座学」と「AI技術に関する計算」の二つから構成されます。講師は英語で喋りますが、日本語の字幕が有志によって提供されています。このため、日本語話者でも無理なく受講可能です。また、「deepl」などの翻訳サイトを用いることで、英語の文章による情報も無理なく理解できると思います。
「AI技術に関する計算」はOctaveとよばれる無料のソフトウエアで行われます。Octaveは線形代数学に関する計算が行いやすいソフトウエアです。このソフトウエアの使い方に少し躓くかもしれませんが、そこを乗り越えればこの講義は非常にスムースに進めることができると思います*5。
具体的な受講の方法等は、以下のQitaの記事などを参照してください*6。
Coursera Machine learning のレベルについては以下の記事が参考となります。
Coursera Machine learningの具体的な内容については以下の記事が参考となります。
ゼロから学ぶDeep Learning
次に「ゼロから学ぶDeep Learning」という書籍です。この本では、「ニューラルネットワーク」「ディープラーニング」について学ぶことができます。この本の特徴は、python*7を用いて実際に、少しずつディープラーニングを作成できる点です。このため、ディープラーニングやニューラルネットワークのイメージがつくようになります。
自然科学の統計学(基礎統計学)
この本は、フワっと度合いがちょっと低いです。説明もあまり親切ではないですし、興味が無い分野は消化不良になるかもしれません。ただし、この本には自然科学分野で使う統計的な手法がある程度網羅的に紹介されています。この本の良さは、この網羅度合いです*8。
網羅されていることによって、実際に統計的な手法が必要となったときに、「そういえば、こういう時に使えそうな手法があったな」っと参考にすることができます*9。世の中にある手法をある程度、網羅的に知ることができる点で非常にオススメです。
また、姉妹書として「統計学の基礎」や「人文・社会科学の統計学」があります*10。
AI技術をフワっと学んだ方が良い理由
最後になぜ、AI技術をフワっと学んでおいていいのかについて紹介します。
AI技術を分野外の人でも把握しておいたほうが良いのは、AI技術が特別な技術ではなく当たり前の技術になろうとしているからです。例として、iPS細胞に代表される幹細胞の話題を紹介します。
多能性幹細胞(以下、幹細胞)は、条件次第でどのような種類の細胞にもなれる細胞です*11。例えばiPS細胞が、幹細胞の一種です。幹細胞が、ある特定の機能を持つ体細胞になることを分化といいます。幹細胞を用いることで、様々な組織や臓器を模倣することができるのではないかと考えられています。このため将来的に再生医療や病態モデル、薬の検証にiPS細胞をはじめとした幹細胞が用いられることが期待されています。
しかし、幹細胞の利用には技術的な問題点がいくつかあるようです。そのうちの一つが、幹細胞の分化の状態のモニタリングです。以下の研究では、幹細胞のモニタリングのために、新設計のデバイスと既存のAI技術を組み合わせて用いることを提案しています。ここでの既存のAI技術とは、サポートベクトルマシン(SVM)です。
"A microfluidic impedance flow cytometer for identification of differentiation state of stem cells - now published in Lab on a Chip"
A microfluidic impedance flow cytometer for identification of differentiation state of stem cellsThis paper presents a microfluidic electrical impedance flow cytometer (FC) for identifying the differentiation state of...
なおデバイスは、PDMSとよばれる透明な樹脂と金の電極を有するガラス基板を組み合わせて作成したマイクロ流体デバイスです*12。論文の主題と関係なく話はそれますが、マイクロフルイディクス(マイクロ流体力学)に関しては、以下の記事をください。
iPS細胞の「初期化」と「分化」の過程の後に、細胞を分類する必要が生じます。この分類を解決する手段として、AI技術というものは活用されているのです。iPS細胞に関する研究は、医学や生物学に属するものです。このような分野でもAI技術が用いられていることからも、AI技術が特別な技術ではなく当たり前の技術になろうとしていることが分かると思います。
おわりに
今回は、AIの門外漢がフワっと入門できるAI技術の教材を紹介しました。今回の記事が、役に立てばと思います。
*1:googleで働くデータサイエンティストのかたの人気ブログなどもあります。https://tjo.hatenablog.com/
*2:半導体の微細化が指数関数的に進展するという経験則。コンピュータのCPUは半導体で作成されている。このため言い換えると、コンピュータの性能が時間経過に対して指数関数的に向上するという経験則。
*4:このブログで紹介してまくってますが
*5:Octaveの使用方法については、適宜ググるしかないと思います。
*6:私は以下のQitaの記事などを参照して、Couseraの概要等を把握しました。
*7:プログラミング言語の一種、Anacondaというものを環境を一括でインストールするとwindowsでもpythonを利用できるようになります。
*8:また、回帰分析の数式的な展開も習得できるのも良い点です。
*9:私は研究室に所属して際に、良く参照していました。
*10:どちらの本も持っていますが、人文・社会科学の統計学を読んだことはありません。統計学の基礎は、非常に役に立ちます。
*11:詳しくは、例えば以下のNikonのサイトを参照ください。
*12:オープンアクセスではないので、私はアブストラクトしか読めないため想像ですが、典型的なマイクロ流体デバイスの作成方法と思います。
*13:詳細に関しては、翻訳サイトdeeplなどを利用して、ご確認ください。www.deepl.com