支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • ディープラーニングとGPUの関係性に

はじめに

2022年現在、IT技術はスマートフォン・タブレットといった携帯端末、物理的なサーバーが不要で拡張性に優れたクラウドサービス、5Gといった高速なネットワーク等の普及によって進化のスピードをさらに加速させています。そのためビジネスにおいては、これまでIT技術とは無縁であった異業種であっても、パソコンや携帯端末の導入はもちろんのこと、当然のようにITシステムがメインとなる業務や、サービスの提供が行われている状況です。また日常生活においても、行政サービス・公的サービスの各種手続きがインターネット上で完結できたり、電化製品をインターネットに接続して利便性が増したりと、IT技術がない状態は考えられない程になっています。

以上のようにITの浸透を推し進めている技術として、AIや機械学習、ディープラーニング等を挙げることができます。しかし、これらの言葉を聞いたことはあるものの、実際にこれらの分野に携わっている、あるいは趣味で独学しているということがない限り、どれも似たような技術という認識を持っている方も少なくないでしょう。この記事では、ディープラーニングのシステムにおいて欠かせない「GPU(Graphics Processing Unit)」について取り上げていきますが、同時に、そもそもディープラーニングがどういった概念であるかも詳しく紹介します。

これからAI、機械学習、ディープラーニングについて学びたいと思っている方、純粋にディープラーニングに興味を持っている方、ディープラーニングのシステムを初めて導入するものの、GPUを理解していない、またGPUをどういった基準で選べば良いか迷っている方はぜひご覧ください。なお、すでにディープラーニングについてある程度知識がある方は、「GPUの重要性」から読み進めてください。

ディープラーニングとはどんな仕組み?

ディープラーニングは、人間と同じ行動をコンピュータにおいて可能にさせるための試みです。人間の行動とは、例えば色の違いを認識したり、特定の人物を認識したり、言葉を認識して会話をしたり、その結果を返答する等です。2022年現在、それらの仕組みはすでに多くの機器に取り込まれており、スマートフォンやスマートスピーカー、カーナビ等の音声認識やパソコン、自販機等での顔認証、ショッピングサイト、会議の議事録システム等で、ディープラーニングを意識している、ないにかかわらず一度は利用したことがあるのではないでしょうか。

このディープラーニングは「機械学習」というカテゴリに含まれる技術であり、機械学習とは、人間からの指示を行うことなく自ら考えて結果を出す技術を表します。さらに、この機械学習を含んでいるのが「AI(人工知能)」という大きなカテゴリーとなります。AIは主に「弱いAI」「強いAI」の2つに分けられます。「弱いAI」は、ある特定分野でのタスクに対応できるAIを表し、「強いAI」は、人間と同程度もしくはそれ以上の能力・知能を持ったAIを表していますが、2022年時点で「強いAI」に関しては概念だけが存在している状態であり、今回取り上げる機械学習やディープラーニングも「弱いAI」の一つと言えます。

しかし「弱い」からといって役に立たないAIというわけではありません。確かに、かつては「音声認識付き」のように謳われた製品があったとしても、その能力をさほど期待している人はおらず、おまけ、エンターテイメントの一つ程度に考えていた方もいることでしょう。なんとか最新技術に慣れようとAIを使って仕事をしようとした結果、却って時間がかかって本末転倒になったという経験をお持ちの方もいるのではないでしょうか。それはAIの学習が足りておらず、未熟であったためです。

「機械学習」という名称にあるように、望んだ結果を得られるようにするには学習が必要です。独特な呼び方ですが、機械学習には「教師あり学習」「教師なし学習」「強化学習」という3つの学習方法があり、それぞれが学習方法の特徴を生かせる分野で利用されています。人それぞれ、元来持っている性格によって学習方法や職業への向き・不向きがありますが、機械学習にも同じことが言えます。

「教師あり学習」とは、すでに教師から与えられた過去の正解となるデータを基として分析を行い、答えを出す方法で、金融業界や小売業をはじめとした様々な分野のシステムで利用されています。「教師なし学習」は、逆に正解となるデータが与えられておらず、膨大なデータの中から自分で特徴や規則性を探し出す方法であり、クレジットカードの不正取引検知、システムの異常検知等のシステムで利用されています。「強化学習」は、学習していく中でそれが正解・不正解どちらであるかを伝えて能力を高めていく方法で、ゲーム開発、自動運転、エレベーター等の分野で利用されています。

ディープラーニングにおける「ニューラルネットワーク」について

機械学習の中の一つであるディープラーニングですが、この手法を特徴付けている決定的なものとしてニューラルネットワークの多層化が挙げられます。人間や動物の身体には情報処理や情報伝達を行う際に「ニューロン(神経細胞)」が使われていますが、この構造・仕組みをコンピュータに応用したのがニューラルネットワークとなります。このニューラルネットワークを多層化することで、より精度の高いデータの分析が可能となります。赤ちゃんは、特に学習方法を教えることなく情報を処理して言葉を覚えたり、やっていいこと悪いことを判断できるようになったりと、自ら学習していきます。ニューラルネットワークもそれと同様、蓄積した過去の膨大なデータを基に自ら学習が可能な仕組みです。

ビッグデータに使うデータの集取は法律違反ではない?

ディープラーニングの学習を進めるためには膨大なデータが必要となりますが、個人情報の守秘義務やセキュリティへの注目が高まっているこの世の中で、分析するためのデータをどのように入手しているのか気になっている方もいるのではないでしょうか。もし今後ディープラーニングを使ったシステムの開発に携わることになった場合に、法律に則った健全なエンジニアとして活躍できるよう、今回はその点についても簡単に触れていきます。

結論から言うと、情報解析を目的とし、著作権者に不利益が生じない場合は著作物の利用が可能とされています。これは著作権法第三十条の四において2019年1月1日から新たに定められたされた内容で、結果としてAI開発の活性化を促しているとも言われています。なお、著作権法の中で「情報解析」とは「多数の著作物その他の大量の情報から、当該情報を構成する言語、音、影像その他の要素に係る情報を抽出し、比較、分類その他の解析を行うことをいう」と定義されています。

それまでも利用を認める旨の一文はありましたが、利用可能反映が限定されており、2019年1月1日の改定によって利用可能反映が広がりました。それによって、学習用データの譲渡等が可能な状態となり、ウェブスクレイピング等のデータ収集技術で対応可能なデータは、法に則った上で自由に取得して良いこととなりました。また、ここでは著作権について述べていますが、例えば、単に事実に基づいただけの金融データ等に関しては著作権が発生するデータではないので、情報解析において利用可能となります。

さらに、2022年4月に改正された個人情報保護法では、情報漏洩に対する処置は厳重になっている一方で、「仮名加工情報制度」が新設されました。この制度は、個人情報の一部を伏せる等の加工を施し、加工された部分を照合しなければ特定の個人を把握できない場合において、個人情報として扱わないとするものです。この項目の新設は、まさに企業でのデータサイエンスや機械学習といった分野の開発を活性化することが目的と言われています。

以上見てきたように、個人情報や著作権は引き続き厳重に扱う一方で、企業でのデータの利活用を柔軟にする動きも出てきているのが現状です。Googleでは、アプリやWebを開く際にアクティビティのオン・オフを尋ねるポップアップを表示する取り組みを行っており、情報提供の有無を選択できるようになっています。このように、不用意に情報を収集されたくないという場合は、これら機能に対する理解や、サービスを契約する際の規約については忘れずチェックするようにして、各々の個人情報を自身で守っていく必要があります。また、実際に自分がディープラーニングのシステムに携わった場合は、個人情報やセキュリティの重要性について、あらかじめ十分に理解しておく必要があると言えます。

シンギュラリティ(技術的特異点)は本当に起こる?

メディア等でAI技術の将来について取り上げた情報を見た際に、「シンギュラリティ」について語られているのを見たことがある人もいるのではないでしょうか。場合によっては都市伝説的に大袈裟に語られていることもあります。この「シンギュラリティ」というのは、AIが人間の知能・能力を超え、社会的なシステムの在り方含め、世界的に想像もできないほど大きな変化が発生する時点のことを表しています。特に全世界の共通認識事項となっているわけではないものの、人工知能研究の世界的権威者が提唱したため、広く普及するようになりました。

機械学習のように、AIは自身で学習を進めていくため、人間には想像できない程の進化を遂げて、人間を上回る知能によって支配されてしまうのではという話も見られます。もちろん、現時点では仮説の域を出ていないシンギュラリティに関してこの記事で詳しく論じることはなく、不用意にAIの進化を恐れる必要もないでしょう。しかし、専門分野としている権威者からもそのような話が出るほどにAI、機械学習、ディープラーニングという分野は急速に発展しており、今後もそれらを扱えるエンジニアの需要は増える可能性が高いという点は頭に入れておきましょう。また、ここまでの社会的動向を見ている限り、今後のAIの発展によって社会の仕組みが全く変わらないということは考えづらいので、変化の程度はどうあれ、常に最新技術や情報にアンテナを貼って、臨機応変に対応できる準備が行えるエンジニアを目指すことをおすすめします。

ディープラーニングの活用事例

改めてディープラーニングが役立っているサービスについて、詳しく紹介していきます。ディープラーニングは当初、画像認識システムで利用されることがメインでした。そのため、画像認識が必要となるサービスにおいて適しており、例えば無人レジでの商品判別、ゴミの種類を認識するゴミの分別、道路等の生活インフラにおける自動点検、自動運転、医療現場における病気の発見等で採用されています。

ディープラーニングは音声認識も可能であり、自然言語処理も行えます。自然言語処理とは、自分たちが利用する言語の曖昧さを分析して、適した回答を導き出すシステムです。文章の校閲や多言語の自動翻訳、各種書類の自動作成、クレジットカードの不正取引の検知、手書きされた文章のデータへの文字起こし等で、この自然言語処理が利用されています。

機器や荷物、人の行動等の異常検知も可能です。工場での作業時や配送時の不良品を検知したり、空港での不審な行動を検知したり、機器の故障、道路の劣化を検知したりという利用方法です。さらに、クリック数、株価、為替等の市場動向、インフルエンザの流行、店舗の売り上げといった予測にディープラーニングを役立てることもできます。今回紹介した事例はほんの一部であり、このシステムもディープラーニングだったのではと、これを読んで頭に浮かんだ方もいるのではないでしょうか。これから技術が進歩することで、さらに幅広い分野でのディープラーニングの活用が見込めるようになるでしょう。

GPUの重要性

コンピュータ上で様々な処理を行うのに必須となるCPU(Central Processing Unit)の存在は割と一般的に知られていると思いますが、GPU(Graphics Processing Unit)に関しては聞いたことがないという方も多いのではないでしょうか。正式名称に「Graphics」と入っているように、3Dグラフィックスでの描写といった画像を扱うための計算処理が得意な半導体となります。CPUは複雑な処理が得意なのが特徴であるのに対して、GPUは単純処理に向いていて、さらに大量のコア数を搭載できるため、並列での計算処理が高速で可能というメリットがあります。CPUでのコアの搭載数は4~64コア程度ですが、GPUにおいては600~5000コアという数で搭載できます。ディープラーニングでは膨大なデータをを扱い、それらを高速に処理する必要があるため、GPUの方が適していると言えます。なお、数千個という大量なGPUが必要となることもありますが、基本的にCPUの価格に比べて安価というメリットもあります。

もう少しGPUについて詳しく紹介します。パソコンの自作をやったことがある人はわかると思いますが、パソコンには、ディスプレイに画像や映像を映し出すのに必要なパーツが集まったグラフィックボードと呼ばれるユニットがあります。GPUはそのグラフィックボードに搭載するパーツとなります。また、GPUによって実現できる3Dグラフィックスを利用する分野としては、ゲームや、映画・アニメ、建築・工業等で、実際は3次元であるものを平面上に描写可能としています。映像関連として、VR・ARといった技術でもGPUが採用されている傾向があります。

なおGPUには、内蔵型、外付け型の他に、クラウドサービスのものもあります。特にクラウドサービスのGPUであれば、自分で設置する必要なくボタン一つで追加が可能であり、コストの削減もできるのでおすすめです。クラウドのGPUを利用できるサービスとしては、GCP(Google Cloud Platform)やAWSが挙げられます。

また、GPUを生産しているメーカーも様々あり、その中でも代表的なメーカーとしてはNVIDIAや、AMDがあります。いずれもアメリカの企業であり、NVIDIAは、特に世界的なGPUのシェア率を誇っています。一方のAMDは、高い性能を保ちながら消費電力を抑えられるGPUを開発しているメーカーとして有名です。GPUの種類としては、Tesla、GeForce、Quadro、Radeon等が有名です。 Teslaは上述したNVIDIAのシリーズの一つで、精度の高い演算処理が可能となっている業務用のGPUです。GeForceは、企業利用というよりは、個人でディープラーニングを行う場合におすすめのGPUで、豊富なラインナップの中から希望のコア数やメモリサイズを選択できるようになっています。Quadroは、鮮明な映像・画像の表現が可能で、GeForceよりコストはかかるものの、高性能なGPUを搭載したい場合はおすすめです。AMDのシリーズの一つで、コストが低めであるにもかかわらず同程度の性能を持っているため、データ量が多い処理も問題なくこなせます。

画像処理以外も可能なGPGPU

3Dグラフィックスの処理が得意なGPUの特徴を生かし、画像・映像の処理に関する計算ではなく、それ以外の用途に活用する技術や概念のことを「GPGPU(General-Purpose computing on Graphics Processing Units)」と言い、最近ではGPGPUを意識した開発や、開発環境の提供も進められています。すでに紹介したように、画像処理ではなく、並列処理に優れているという特徴を機械学習やディープラーニングに活用するのもGPGPUの一つです。また、暗号解読、仮想通貨のマイニングで活用されているのもGPGPUです。GPGPUに向けた開発環境としては、NVIDIAの「CUDA」や、Appleとクロノスグループの「OpenCL」、Microsoft「DirectCompute」があります。

まとめ

機械学習、ディープラーニング等を含んだAIの分野はまだまだ発展途上であり、これからさらに革新的な技術が出てきて、飛躍する可能性があります。そうなってくると、AIを扱えるエンジニアの需要も比例して増えてくることは目に見えているので、これらの技術をあらかじめ正しく理解しておくことで、幅広いITシステムの開発に対応できる人材となれる可能性が出てきます。

ディープラーニングの分野一つに絞っても、今回取り上げたGPUの必要性や種類・性能の違いを理解しておくだけで、社内で初めてディープランニングを採用したシステム開発のプロジェクトを発足する際等に、大いに役立つ知識になることでしょう。

AIの発展は人々から仕事を奪ってしまう、人間を支配しかねないという懸念を持つような意見もいまだに聞かれますが、AIに限らず、これまでも技術の進化によって必要性を失った仕事はいくつも存在し、その度に人々は新たな役割を探し当てながら発展し続けています。また、ある部分をAIに管理してもらうことで、人々はこれまで時間が足りなくて手が付けられなかった最新技術の研究や開発等に注力できるようになる可能性もあります。決してAIの発展を一方向から見て悲観することなく、正しく判断が下せるようになるためにも、ぜひ今回の記事をきっかけに、まずはディープラーニング、GPUを正しく理解していただけると幸いです。