AIの流行と、今気になる技術

AIの流行と、今気になる技術

糖尿病予備軍
この記事は、2020年1月7日に編集し、約 6 分で読めます。

どうも、デブです。

第二回目の投稿を行いたいと思います。

本当はpythonの文法ついて述べたかったのですが、
気分が乗らない時間が取れないので、

最後にする予定だった、ここ最近のAIの話題についてさらっと述べたいと思います。

ここ最近AIというワードが少なからず取り上げられることが多かったですが
(収束するかしないか微妙な感じですけどね)

ここでは、ここ最近流行りだして、恐らくちょっとしたブームになるかもしれない
AutoMLなども含めてAI界隈のことについて紹介したいと思います。

1.人工知能(AI)について

まず、AIという言葉ですが、これはartificial intelligence のことで
人工知能といわれるものです。

人工知能というものは計算機科学の1分野を指す言葉として用いられており、
実際はより細かいいろいろな分野の技術を含んだ総称のような言葉になります。

人工知能の詳しい歴史に関しては、書店に行けばいろいろな本があるので、
そちらを見ていただければと思います。
(とはいえここでも簡単には紹介します。)

1-1.機械学習

ここ最近の人工知能として語られている技術は主に
機械学習というものにまります。

詳細はWikipediaなどを参考にしていただければと思うのですが、
簡単に言うと、ある予測させたい事象に関するデータをコンピュータに与えて
訓練させて学習し、その後テスト用のデータを与えてその事象の予測や、
事象の分類を行う秘術になります。

機械学習という技術は今ではスパムフィルタリングやGoogleの検索エンジン、Amazonなどのレコメンドエンジン
(「この商品をチェックした人はこんな商品もチェックしています」でおなじみですね)
果ては物体の認識(動物の認識など)、DNAの解析や癌などの病気の診断や、
ゲームのキャラクターの動作などに用いられており、身の回りで実はお世話になっている技術になります。

1-2.深層学習

機械学習の技術もさらにいろいろな手法が含まれておりますが
中でもここ最近注目されているのが深層学習(ディープラーニング)
というものになります。
深層学習はニューラルネットワークという手法がもとになっており、
古くからある手法の一つだったのですが、動物の認識などで
単純な画像であれば認識できるものの、複雑な画像や不明瞭な画像では
認識できないということで、一時はあまり注目されなくなった手法でした。

その後、カナダのトロント大学にいるジェフリー・ヒントン(現在はGoogleにも在籍)
らの研究チームが作成した手法(オートエンコーダというものになります)が
複雑な画像や不明瞭な画像からでも画像の認識が可能になるということで
再び脚光を浴び始め、その後は画像認識だけでなく、
自然言語処理(文章をコンピュータに認識させる)や
音声認識(人間の音声を認識、AlexaやGoogleHomeなど)の
分野で用いられるようになりました。

1-3.深層強化学習

上記の深層学習に加え、強化学習というこちらも古くからある機械学習の手法があり、
この手法と組み合わせた深層強化学習(DQN)という技術が編み出されました。

こちらの技術も用いたもので有名なのがAlphaGoという囲碁プログラムになります。
当時このプログラムが囲碁の世界タイトル2位のイ・セドルを
打ち負かしたことで話題になりました。
これがここ最近の実質的なAIブームの火付け役といわれています。
(Wikipedia曰くですけどね)

1-4.その他の話題

また、つい最近もGoogleの検索エンジンのアルゴリズムに変更が加えられました。
参照URL:https://wired.jp/2019/11/14/google-search-advancing-grade-reading/

このアルゴリズムはBERTといい、自然言語処理の技術分野で
大きな貢献を果たしました。
いままでは単語の類推が主で文章の意味の推測は限界があったみたいですが、
BERTの導入により文章単位のクエリにも正確に答えられるようになると
期待されています。(日本語も対応済み)
また、BERTのソースコードは公開されていますので、
ご興味のある方は見てください。
URL:https://github.com/google-research/bert

AutoMLについて

前置きは少し長くなりましたが、
以上がここ最近流行りの機械学習の世界一雑な概要になります。

上記のようにいろいろな手法が編み出されているわけですが、
実務の現場では何らかののサービスを運営し、そこからかき集めたデータを
整理して分析して、そこからサービスの向上を図るためのヒントや
今後のサービスの方向性を意思決定するための補助道具として用いられております。
(また、このようにビジネス向けのデータにAIを日いて分析することをデータサイエンスといいます。)

しかし、上記に述べたようなデータを整理して分析というのは、
とてつもなく泥臭く、そして忍耐を必要とする作業であり、
結果というものはそうそう簡単に出せるものではありません。
また、それ故に多くの企業がデータサイエンスの導入を実施したものの、
データをかき集めるだけで終わったということが少なからずあるようです。
(Twitter上での数多の嘆きより)

しかし、ここに一筋の光明の光が差し込むかもしれません。

それはAutoML(Automated machine learning)という技術になります。
この技術のすごいところはデータの整理から分析までを
ある程度自動化することができるものになります。
(さっきからデータの整理とか言ってますが正確には特徴量エンジニアリングといいます)

現在有名どこのサービスとしてはGoogleのGoogleCloudPlatformにある
その名もAutoMLやDataRobotというサービスあたりが有名と思います。
(ただし、基本有料です)
また、国内ではMatrixFlowというところもあるみたいです。

上記のサービスを使えば、ほぼノンプログラミングでも使えたりするようですが、
今回はプログラミングは必要ですが無料で使えるオープンソースの
AutoMLについて紹介しようと思います。

Pythonは必須になりますが、ライブラリとしてAutoMLを使うこともできます。
これらのライブラリはドイツのフライブルク大学にあるAutoML.orgという所が
AutoMLのライブラリを色々と管理しており、
それを用いてAutoMLを利用することもできるのです。

・AutoML.orgのURL:https://www.automl.org/
・AutoML管理下のライブラリのリポジトリ:https://github.com/automl
以下のライブラリもAutoMLライブラリになります。
・TPOT:https://github.com/EpistasisLab/tpot

AutoMLの内容の詳細について取り上げた記事はまだあまりありません。
但し、以下の書籍が参考になります。

結びと今後の予定

ここではライブラリの使い方については触れませんが、
今後私も仕事でこれらのライブラリも導入してみたいと考えております。
またAutoMLのライブラリの利用例なんかもサンプルコード付きで
紹介出来たらなと思います。

以上、雑なAIの紹介とAutoMLの紹介になりました。

では、さようなら。

この記事を書いた人

デブです。

糖尿病予備軍をフォローする
ブログページに戻る