人工知能の進化は電子空間上の膨大なデータの蓄積によって促されていると思われる

ここ最近はプログラミングの勉強をしており、そういった内容のことを書いてきました。プログラミングについて勉強を進めていくと、この世界にはC言語とかJavaとか様々な種類の言語があることがわかります。

 

その中でExcelVBAというのはエクセルに入っているので、主に事務処理に特化した言語です。仮にこれをある程度勉強したとして、エクセルでの動作以外にもっといろいろなことができるようになるためには別の言語の勉強も必要であろう、

 

その別の言語として、ExcelVBAからステップアップしやすいものにはどんなものがあるのだろうか、と以前から考えていました。人気があるプログラミング言語のランキングや有名どころなどで「C言語」や「Java」という単語をよく目にします。

 

ですから、ExcelVBAの次はそういった言語を勉強した方がいいのだろうかと、言語の種類や性質、機能についてインターネットで調べたりする時がありました。すると、VBA以外に「VB」という言語があることがわかってきました。

 

VBはVBAと同じマイクロソフトが開発したプログラミング言語です。VBAがwordやExcelなど事務処理用のソフトに特化した言語なのに対して、VBはコンピュータ上で動作する一般的なアプリケーションを開発することを目的として開発された言語です。

 

また、VBAはVBをベースとして開発されたため、VBと近い言語体系であり、VBAからVBに移行するのは比較的容易である、と言われているので、

 

「そうか、じゃあVBAの次はVBを勉強するといいのかもしれない」

 

と以前は思っていたのですが、最近その考えがちょっと変わってきました。

 

というのは、最近とある本を読んでいて気づいたことがありました。それは

  • 「プログラミング」
  • 「データベース」
  • 「人工知能の機械学習」
  • 「人工知能の深層学習」

以上に挙げた項目が全て連続して繋がっているということです。

 

以前の自分の感覚では、別々の事象だと思っていました。しかし昨今の技術の進歩とその流れがわかってくると「あ、なるほど、確かに・・・」という感覚を持てるようになってきました。

 

で、1つのプログラミング言語を勉強したら、次は新しいプログラミング言語ではなく「データベース」について勉強した方がいいのだろうか?と考えるようになってきたわけです。

 

今回はこのことについて感じたことを書いていってみます。

4つのレベル

このブログでは社会というのは以下のように変わってきていると書いてきました。

  • 農業社会

   ↓

  • 工業社会

   ↓

  • 情報社会

   ↓

  • 知識社会

 

現在は工業社会から情報社会、情報社会から知識社会へと社会が進歩していっている、またはその過渡期と言われています。

 

現在は知識社会へ移り変わりつつあるということですが、この知識社会というのは、人間の「知識」や「智恵」が重宝される社会と言われており、

 

実際の世界でも、メーカーがつくるような「モノ」は溢れ、競争が激化し、製品の価格が下がってくるようになりました。特に私達の身の回りにある日常的なモノの値段は、体感的にもかなり低くなってきているというのがわかります。

 

一方で人間の知識をベースとしたサービスの値段や仕事の給料などは非常に高いです。経営に関するコンサルティングの料金は何十万とか何百万円なんて数値は普通に見ますし、一般の人でも目に出来る派遣の求人などで、プログラマーやSEに関する仕事の時給は普通に3,000円とか4,000円といったものがあります。

 

そういった日々の身の回りにある環境の変化や数値を見ていると、確かに社会は移り変わっていってるというのは感じます。

 

その知識社会において、ある一定の分野では4段階に細分化できるのではないかと考えました。なぜそのように考えたかというと『決定版 FinTech―金融革命の全貌』という本に次のように書かれていたからです。

P.161

人工知能の進化の過程は大きく4つのレベルで表すことができる。レベル1は単純な制御プログラム。温度があがればスイッチを入れる・切るといった家電の自動制御プログラム等がこれにあたる。

 

レベル2は膨大な入力・出力で探索や知識を活用することで、豊富なパターンを実現するレベル。掃除ロボ等がこれにあたる。

 

レベル3は、データを元にルールなどを自動で学習する機械学習を活用した人工知能。機械学習は以前から研究されていたが、2000年代に入り、学習する元データとなる「ビッグデータ」の発達で進化が加速している。

 

レベル4は、ディープラーニングを活用した人工知能。ディープラーニングとは、機械学習で利用する際のデータの特徴量そのものを自動学習するものである。例えば、画像認識において、動物の「ゾウ(象)」をゾウであると理解するために、「鼻は長い」「色はグレー」「耳が大きい」等のパターンを認識するための特徴量を自動で学習することができる。

 

なるほど、人工知能は4つのレベルで進化してきており、現在はディープラーニングのところまで来ているということです。

 

引用した文章において、自分の中では昨今の電子空間上のデータ量の増加を念頭に置くと、レベル別の内容ごとに次のような言葉に置き換えられるのではないかと考えました。それは

 

  • レベル1:プログラミング
  • レベル2:データベース
  • レベル3:機械学習(人工知能)
  • レベル4:深層学習(人工知能)

 

このことについて自分なりに簡単に説明していってみます。この分野については自分は全然素人なのでその点はご容赦ください。

レベル1

引用した文章に「単純な制御プログラム」とか「スイッチを入れる・切る」とあったので、たぶんプログラミング言語のことが思い浮かびました。

 

VBAを多少なりとも勉強したのでわかるのですが、ONとOFFを切り替える処理なんて言葉が出てきたので、あぁなるほどと。

 

コンピュータやインターネットの歴史において、初期の頃は多くの人が共有できる電子空間も最初はほとんど何もなかったと思われます。

 

そこに何らかの意味あるもの、多くの人が使えるもの、便利なプログラムやシステムを構築するには、人種や文化、価値観が違っても理解できる、何らかの規則的な道具が必要だった、そのために生み出されたのが「プログラミング言語」だったのではないでしょうか。

 

マイクロソフトはwindowsというコンピュータのOSをつくりましたし、Googleは便利な検索エンジンをつくってくれました。それらのシステムの構築にはプログラミング言語なしには考えられなかったでしょう。

 

レベル2

引用文においてレベル2は、「膨大な入力・出力で探索や知識を活用することで、豊富なパターンを実現するレベル。」とあります。

 

本来であれば「古典的な人工知能」といった言葉が出てくるのかもしれませんが、技術の進歩の歴史やその流れ、ハードやソフトの発達とそれに伴うデータ量の増加から「データベース」という言葉を思い浮かべました。

 

プログラミング言語によってなんらかのプログラムやシステムがつくられると、そこに「データ」が蓄積されていきます。何でもいいのですが、例えばある一定の地域に住む人の住所とか電話番号など、

 

今の時代風に言えば、マーケティングにおいて、その人の趣味や嗜好、出身、職種、商品の購買履歴、どの店舗でどの商品を何個買ってくれたのか、といったデータです。

 

こういったデータがシステムに蓄積されてくると、そういったデータを有効活用できないか、ということで「データベース」という分野が重要視されてきます。

 

データベースを辞書的に説明すると、検索や蓄積が簡単にできるように整理された情報の集まりです。 例えば会社の財務諸表などもそのひとつでしょう。

 

日々の取引を会計ソフトに入力していくことで、取引ごとに対応した勘定科目や金額のデータが蓄積されていきます。もちろん検索画面から必要な条件を設定することで必要なデータを抽出することもできます。

 

ここまでデータについて書いてきましたが、データには大きく分けて次の2種類があると言われています。

  • 構造化データ
  • 非構造化データ

 

売上や費用、企業の財務諸表などの数値的なデータは「構造化データ」。

 

もうひとつは、顧客の趣味や嗜好、クレームの内容、サービスを退会する理由に関する文章といったテキストデータ、画像、音声、動画など単純に数値化できない「非構造化データ」があります。

 

データを蓄積できるようになってわかってきたのは、企業の業績を良くしていくことにおいて、より重要なのは「構造化データ」ではなく「非構造化データ」であるということです。

 

時間の経過によって技術の進歩が進み、ハードの記憶容量も増加していきます。それによってさらに蓄積できるデータ量が増えると伴に先に挙げた非定型的な非構造化データもさらに増加していきます。

 

このようなデータが、最近よく耳にするようになった「ビッグデータ」と言われるようになっていったわけです。

レベル3

引用文において、人工知能の進化の過程においてレベル3は機械学習(人工知能)になっていきます。

 

人工知能の機械学習とは何か。なぜここで人工知能の機械学習が出てくるようになったのか。そのことについて簡単に説明していきます。機械学習とはwikipediaには次のように書かれています。

機械学習(きかいがくしゅう、英: machine learning)とは、人工知能における研究課題の一つで、人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法のことである。

 

もう少し説明すると機械学習とは、たくさんのデータから反復的に学習し、その中から何らかの意味のあるパターンを見つけ出すことです。

 

次のレベル4で説明する「深層学習(ディープラーニング)」との比較において、機械学習は人間から何らかの「指示」が必要と言われています。

 

例えば、人間からいくつかの指示を人工知能に与えて大量のデータを学習させることにより、そこから何らかの法則性やパターンを見つけ出すといったものです。

 

ブログをよく書いている人であればわかると思うのですが、記事に挿入する画像に対して「alt属性をつけた方がgoogleに対する評価がいい」とか「画像には代替テキストを入れた方がいい」といった記事を見ることが多いのではないでしょうか。

 

おそらくそういったことの背景にはgoogleの意図があると思われます。それは、検索エンジンを利用している人たちの手によって一つひとつのデータにタグをつけてもらってgoogleが開発している人工知能を学習させやすくしよう、ということだと思われます。

 

私達は知らず知らずの内にgoogleの成長の手伝いをしているのかもしれません。

 

ここまで「人工知能の機械学習とは何か」について簡単に説明してきました。次は「なぜ人工知能の機械学習が出てくるようになったのか」について自分なりの考えを書いていってみます。

 

レベル3の項目において、データの蓄積によりビッグデータというものが注目されるようになったことは書きました。

 

そのデータの中でも「非構造化データ」が注目されるようになってきたわけですが、数値や行や列、項目がなどが整理された定型化された構造化データであれば通常のデータベースの知識で扱うことは難しくはないですが、

 

人が書いたある程度の量がある文章や画像、動画、音声などの非構造化データだと定型的なデータベースで処理するというのは対応が難しくなってきます。で、そこでどうするかとなった時に考え出されたのが「人工知能による機械学習」ではないでしょうか。

 

構造化データを解析するためのツールが何らかのデータベースソフトであれば、非構造化データを解析するためのツールが「人工知能による機械学習」に当たるのではないかと。

 

わかりやすい事例としては、今では多くの人が利用している「Amazon」が挙げられでしょう。

 

アマゾンは顧客の購買データを利用して「この商品を買った人はこの商品も買っています」といった「レコメンドエンジン」をつくりました。

 

この機能によってアマゾンの側は売上を増やすと伴に、消費者の側は今までであれば気づけなかった商品を知る機会も得られるようになったわけです。また、インターネットとという電子空間であればほぼ無限に商品を消費者に提示することも出来ます。

 

このような現象は、恐竜の尻尾になぞらえて「ロングテール」と言われたりします。通常の物理空間上の店舗では売上の80%は商品全体の20%程で占められるが、残りの売上の20%は商品全体の80%が占めるので、今までは商品全体の20%をいかに効率よく売るかが大事でした。

 

しかしインターネットやアマゾンの誕生によって、物理空間上での店舗の商品全体の80%の方にも日の目が当たるようになります。物理空間上の店舗では店舗の広さからどうしても置ける商品に制限が出てしまいますが、インターネットという電子空間上ならほぼ無限に商品を消費者に提示することが出来るからです。

 

そのような膨大なデータを効果的に使えるようになった背景には、膨大なデータを処理、解析できる技術が実現化されてきたということでしょう。他にも具体的な事例を挙げるとすれば次のようなものがあります。

  • 迷惑メールなどのスパム検知
  • 医療診断
  • 数字や文字の認識

 

レベル4

この記事の最初の部分で引用した文章において、人工知能の進化の過程における4つのレベル4が深層学習(人工知能)です。

 

深層学習(ディープラーニング)という言葉は最近よく耳にするようになりました。人工知能の深層学習とはいったいどんなもので、なぜ深層学習といったものが私たちの前に出てくるようになってきたのでしょうか。このことについて自分なりに調べた範囲で書いていってみます。

 

人工知能の深層学習(ディープラーニング)とは機械学習の中の手法のひとつであり、機械学習が人間から何らかの指示を受けて人口知能が学習していくというものであるのに対して、特に人間から指示を出さずに人工知能の方で「自律的」に学習してもらうのがこのレベル4である人工知能による深層学習です。

 

なぜ、どうやって人工知能の深層学習といった生まれてきたのでしょうか。その背景には最近よく聞くようになった「IoT」が関係しているのではないでしょうか。

 

IoT とは、Internet of Thingsの略であり、モノのインターネットとも言われています。 IoTとは、様々な「モノ(物)」がインターネットに接続されて情報交換することにより相互に制御する仕組みのことを指します。

 

IoTを実現する背景にはセンサーやデバイスの発達があり、これによって今までに得られなかったデータの取得が可能となり、加えて「モノ」がインターネットを通じてクラウドやサーバーに接続され、モノ同士の情報交換ができるようになっていきます。

 

これらのセンサーやデバイスを通したモノの情報交換によるIoT により、様々な用途でビジネスに利用されるようになってきました。

 

なぜIoTを挙げたのかというと、IoTを実現するためのセンサーやデバイスから得られる「物理空間上の様々なデータ」の蓄積とその解析の必要性が人工知能の深層学習(ディープラーニング)といったものを生み出したのではないか、と考えました。

 

非構造化データの蓄積とその解析の必要性が人工知能の機械学習と関係があるように、人工知能の深層学習もセンサーやデバイスの発達によって得られるようになった物理空間上の様々なデータの蓄積とその解析の必要性と関係があったのでのはないかと考えられます。

 

人工知能の深層学習を私たちの生活に応用した具体的として次のようなものが挙げられます。

  • 自動運転
  • 画像認識
  • 音声認識

レベル3の具体例と比較して感じたのは、レベル3で扱うデータに比べてより非定型的、より物理空間に近い動的なデータを処理できるようになってきたということです。

 

ここから思うのは、例えばエクセルのVBAのプログラムのように電子空間上でしか動作できなかったコンピュータが、モノを通して物理空間上、もしくはそれに近い場所でも動作できるようになってきたと言えるのではないでしょうか。

 

人工知能の技術がもっと発達していけば、物理空間上でも自律的に活動できるロボットがもっと日常的に見られるようになっていくのかもしれません。

まとめ

以上ここまで、人工知能の進化の過程の4つのレベルについて簡単に触れてきました。

 

冒頭部分で社会が

農業社会→工業社会→情報社会→知識社会

という風に進歩していっている、ということは既に書きました。

 

その知識社会における、人工知能の進化の過程が

  • プログラミング

   ↓

  • データベース

   ↓

  • 人工知能(機械学習)

   ↓

  • 人工知能(深層学習)

という風に進んでいるということも自分なりの視点を交えながら書いてきました。

 

つまりこれはどういうことかというと、農業社会から知識社会へ向かって時間が経過していく中で、価値あるものが肉体的な体力から人間の知識に移り変わってきている、というのがわかります。

 

そこからさらに、コンピュータを通して人間が考えていることを人間の手で動作させるのではなく、プログラムという形で予め命令の手順をつくってコンピュータに作業させる、

 

さらに人間が指示をして仕事を覚えさせるのではなく、自律的にコンピュータに学習させて自律的にコンピュータに動いていもらう、という方向に移行していっていると言えるのではないでしょうか。

 

現在までの様々な技術の発達の背景には電子空間上における「データの蓄積」があると考えられます。

 

ここまでインターネットなどの電子空間上に蓄積されてきたデータの増加やその種類について見ていき、データの増加やその種類によって、その時ごとに迫られた解析ツールの必要性ごとに機械学習や深層学習といった新たな技術が生まれてきたのではないかといったことも書いてきました。

 

であるならばここでもう一歩進めて、電子空間上にさらにデータが蓄積していって、さらに新たな種類のデータが生まれるようになっていったならば、そのデータを解析するための新しい技術が、今後また新たに必要とされて生み出されていくのかもしれません。

 

これは単純なことですが、人間が人間の手で作業するよりもコンピュータや機械に仕事をしてもらった方が全然速く量もこなせる、というのはわかるかと思います。

 

今後さらに時間が経っていって、今までもこれからもずっとその人自身が手作業で仕事をしていく人がいる一方で、

 

コンピュータに仕事を覚えさせて学習させて仕事をさせることができる人がどんどん増えていったとしたら、それぞれが進んでいく世界というのは全くの別世界になっていくのではないでしょうか。

 

最近はよく「二極化」という言葉を目にするようになりましたが、今後はまさにそのようになっていってしまうのかもしれません。

 

以上のようなことから、今後勉強していく分野としては新しいプログラミング言語という選択肢はもちろん考えていますが、もう一方で「データベース」に関することを勉強した方がいいのではないか、と考えるようになりました。

 

自分の中ではまだ完全に決まったわけではありませんが、この方向性においてもう少し勉強を進めていく必要がありそうです。

あわせて読みたい

こんな記事も読まれています

コメント