様々な分野への実用化が進んでいますよね。Learning実用化を後押ししていることをご存知の方もいらっしゃるかもしれません。Learning)の中の一つの学習の手法であると言えます。機械学習とは、AI(人工知能)の中心をなす技術であり、プログラム自身が学習していく仕組みのことを言います。Learning)ここ数年で一気にAI(人工知能)が注目され、AI(人工知能)ブームが到来していますよね。Learning)です。何やら難しそうだし、よくわからないなあ、と思われている方も多いでしょう。そこで今回は「ディープラーニング」についてお伝えしていきます!!aizine.ai機械学習AI(人工知能)に興味のある方なら、「機械学習」という言葉を聞いたことがあるかもしれません。「AI(人工知能)とは?」「機械学習とは?」と聞かれて答えるとなるとなかなか難しいものですよね。私も説明できずに困った苦い思い出があります。今回は、誰もがわかるように機械学習についてお伝えします。Learningが世の中の注目を大きく集めたのは2012年の以下の2つの出来事によるものです。Learningを使用したジェフェリー・ヒントン教授率いるチームが圧勝します。Learningを利用したことにより、一気に約10%の改善を実現します。Learningにより猫の画像を「猫」と認識することに成功します。Learning技術によるディープマインド社の「AlphaGo(アルファ碁)」が韓国の囲碁棋士イセドル九段に勝利などの様々な業績を達成します。Learningは機械学習において最も成果を出している手法なんです。Learning開発環境が広く世の中に浸透してゆくことでしょう。Learningですが、その仕組みやGPUがなぜPCの処理速度を上げることになるのか、そうしたことについては中々知らないものですよね。Learningの基本とCPの処理速度を向上させるGPUについてお伝えしていきましょう。Learningには人間の脳の構造が深く関わっています。人間の脳は300億を超える(数については諸説あり)多数のニューロン(神経細胞)で構成されていると言われており、無数のニューロンとニューロンは、シナプス結合と呼ばれるつながりを作ることでネットワークを形成しているのです。Learningは、ニューラルネットワークというコンピュータアルゴリズムに基づいて作られています。ニューラルネットワークとは、このような私たちの脳の仕組みを真似たもので、私たちの脳を構成しているニューロンが互いにつながって情報のやり取りしている仕組みをコンピュータ上に採用して再現したものです。ニューラルネットワークの基本的な模式図は、下記のようなイメージです。情報を受け取った一番左側のニューロン(入力層)は、情報を自分なりに処理をして、その結果を別のニューロンや次の層(中間層)のニューロンに伝達します。情報を受け取った別のニューロンは自分なりの処理を行なった上で、また別のニューロンに情報を伝達します。情報は次の層へと受け継がれ、やがて一番右側のニューロン(出力層)にその結果を伝達し、出力層のニューロンが処理した結果を出力します。Learning(深層学習)です(一般的に模式図に比べて層の数は増え、ニューロンは膨大な数に及びます)。左の列から届いた情報について評価した結果を右の列に伝えるだけで、何の意味があるのかと思われるかもしれませんが、このように複数の層に渡る情報伝達を繰り返すことにより、コンピュータが「学習」できる(例えば犬の画像を犬と認識できるようになる)ことが分かっています。「AlphaGo(アルファ碁)」にような囲碁対戦の場合について考えてみましょう。囲碁AI(人工知能)の場合のニューラルネットワークの構造は、中間層やニューロンの数が非常に多くなり大規模なものとなります。詳しく言えば、囲碁AI(人工知能)の場合、「碁石の位置や周囲の局面を数値で表現したもの」を入力層のニューロンはデータとして受け取り、これらを評価し、結果を右側のニューロンに送ります。次のニューロンには左側の多数のニューロンより数値情報が届き受け取ったそれぞれの情報に対しニューロンは評価を行い、結果を右側のニューロンに送ります。いった処理を全てのニューロンが行った結果、良くない結果となってしまった場合には学習した情報に対して修正が行われます。このプロセスを繰り返すことによって、より強くなってゆきます。これは余談になりますが注目いただきたい点があります。それは囲碁AI(人工知能)の意思決定は全てコンピュータが実施しているという点です。Learningはブラックボックス」と言われています。イセドル九段に勝利した「AlphaGo(アルファ碁)」がなぜあのような手を指したか、AlphaGo開発者含めて私たち人間には理解できません。Learningではニューラルネットワークを構成するニューロンがやっていることをものすごく簡単に言うと、左の列より送られてきた多数の情報に対し、評価した結果を右の列に伝える、という繰り返しをすることです。※ニューラルネットワークについては以下のページで簡単に解説していますニューラルネットワークAI(人工知能)に関する記事の中で、「ニューラルネットワーク」という単語を見かけた経験がある人は多いことでしょう。難しそうと尻込みしてしまう人もいらっしゃるかもしれません。そんなに難しくはない、むしろ知れば知るほど面白い技術です。そこで今回は「ニューラルネットワーク」について、お伝えしていきます!!aizine.ai次に、このニューロンの模式図で示してきたことをコンピュータ上でどう実行しているのか、について見てみましょう。ニューロンたちがやっていることをコンピュータ上でどう実行しているのか模式図を例に解説したように、ニューラルネットワークにおけるニューロンで行われていることは、左の列のニューロンより送られてきた情報を評価し、その結果を右の列のニューロンたちに伝えることでしたよね。Learningは、PCなどのコンピュータで行われる演算処理です。ニューラルネットワークを構成する層の数が増えた場合、多数のニューロンが列方向と行方向の両方に並んでいる形を踏まえて、ニューロンで行われていることを数式で記述すると「行列の演算処理」と表現できます。Learningでは極めて大量の行列の演算処理が必要となるのです。先程ご紹介したGoogleによる猫画像の認識においては1,000台のコンピュータで3日間かかったと言われています。LearningをPCで実行する場合に欠かせないのがGPUというハードウェアです。Learningの実用化を後押ししています。GPUと似た言葉でCPUがありますので念のためここで整理しましょう。※プロセッサ:コンピューターにおいて命令を解読、実行する装置のこと。コンピューターの中で最も重要な機能を果たしますCPUとGPUの大きな違いは同時に実行できる処理数の件数です。CPUでは一般的には4~16件の処理しか同時に実行できませんが、GPUだと数百~数千件の処理を同時に(並列して)行うことができます。Learningのように、PCで大量の行列の演算処理という、同じような処理を繰り返し行う必要がある場合にはCPUだと時間がかかりすぎてしまうため、処理時間を短縮するコンピュータの高速化にはGPUがとても有効だということがわかったのです。先程のGoogleの猫の場合、Googleが使用した当時のコンピュータのCPUは同時に16件しか処理できなかったため、1,000台も準備する必要がありました。効果はCPUの約数十倍から数百倍とも言われています。(参考)GPUはもともとは、3Dゲームなどのリアルタイム画像処理に特化したハードウェアです。3D映像は(肉眼では判別できない)非常に小さな三角形の組み合わせで構成されており、この極めて大量の三角形の座標計算を3Dゲームソフト用途などのために高速に処理する必要があったため、GPUは多数の並行処理機能を持つ必要がありました。Learningの基本とPCの処理速度を向上させるGPUについてお伝えしてきました。Learningのために開発されたものではありません。Learningにも使えると気がつき活用されているものです。Unit)を開発しています。Learning専用ハードウェアとして私たちも安価に利用できる時代が来るでしょう。===当サイト(AIZINE)を運営している大阪の人工知能の開発会社お多福ラボでは、AI(人工知能)の勉強会を開催していますので興味のある方はぜひお越しください。learning入門。Learning(機械学習)に必要なPCのスペックってどれくらい?2019.09.05AI(人工知能)ニュース惚れてまうやろー!つい見とれてしまう美人受付ロボットベスト3!2019.07.07ライフスタイルSNS要注意。検索トップタイトルとURLをコピーしました。