書籍「実装 ディープラーニング」のご紹介

●書籍「実装ディープラーニング」のFAQ を作成しました。 こんにちは。今回は、書籍「実装 ディープラーニング」について、内容を少しご紹介したいと思います。 以下は、「はじめに」から抜粋した内容です。 車の自動運転。この夢のような話も、数年後には普通のことになっているかもしれません。 車の自動運転には、いくつかの高いレベルの技術が必要といわれています。その一つが、正確なセンサーとしての役割を担う画像認識です。もう一つは、人に近い、より高度な推測を可能とする強化学習です。本書はこの二つに焦点をあてて、ディープラーニングを使用したサンプルプログラムを示しながら、より実践的な手法を紹介します。 ~ 途中略 ~  画像のクラス分類では、1,000層からなるディープラーニングのネットワークも発表されています。最近の主流は、公開されている VGG-16(16層)、ResNet-152(152層)といった学習済みモデル(pre-trained model)を利用し、最後にFine-tuningする方法です。学習済みモデルを利用すると、高い性能を容易に発揮できることが示されています。  本書では、「画像のクラス分類」で、VGG-16、ResNet-152を具体的にどのように利用するかをサンプルプログラムとともに説明し、「物体検出」では、26層のネット...
More

数式をまったく使わないMCMC(マルコフ連鎖モンテカルロ法)の説明

こんにちは。 今回は、確率分布の平均値やモード(最頻値)を探す方法のアルゴリズムである「MCMC(マルコフ連鎖モンテカルロ法、Markov chain Monte Carlo methods)」について、お話ししたいと思います。 ここでは山田君が登場します。このストーリーは社内でも意外に好評で、週刊ダイヤモンドでも採用していただきました。 1 洞穴に落ちてしまった! 山田君は、山に遊びにいって、誤って大きな洞穴に落ちて気を失ってしまいました。 気が付いたら、もう夜。そこは大きな洞穴で、なんとか上の落ちた穴の位置を探したいと思いました。 さて、真っ暗闇の中で、どうやって穴の位置を探したらよいでしょうか? 2 落ちた穴を探す 山田君は、洞穴の一番高いところに落ちた穴があるだろうと考えました。 そこで、近くの小石を拾って、それを真上に投げ上げて、小石が天井にぶつかって落ちてくるまでの時間を測ることにしました。 山田君はランダムに歩いて、一歩進むたびに石を投げ上げながら天井の高いところを探します。 「ここら辺が高いな」と思ったら、その周辺に集中的に石を投げ上げて、落ちた穴を探すようにしました。 3 平均値・モードを求める 山田君は、20回小石を投げ上げたとしましょう。 ここで、山田君が小石を投げた時の足の位...
More

強化学習で〇×ゲームに強いコンピュータを育てる(深層学習 Deep Learning)

こんにちは。 今回は「強化学習」についてお話をしたいと思います。 人間は学習することによって、行動をより良いものに変えていくことができますよね。 コンピュータも自己学習をすることにより、より良い行動を取るようにすることができます。 それが強化学習です。 ●「強化学習で○×ゲーム(三目並べ)」の詳しい内容が書籍として出版されました。 詳しくはこちらをご覧下さい。 最近有名なのが、GoogleのDQN(Deep Q Network) でしょう。 シンプルなテレビゲームであるピンポンゲームを学習し、次第に強くなっていきます。 最初はほぼ負けているプレイヤー(コンピュータ)ですが、数千回のゲームを繰り返していくと だんだんと勝てるようになっていく様子は見ていて飽きません。 youtubeに強化学習の様子がありますので、興味のある方はどうぞ。 https://www.youtube.com/watch?v=N813o-Xb6S8 今回は、ピンポンよりももっとシンプルなゲームで強化学習を試してみたいと思います。 誰もが一度はやった事があるであろう「〇×ゲーム(三目並べ)」を使用して、 強化学習がどんな動きで学習をしているのを見ていきます。 ピンポンを学ぶDQNではCNNを利用していますが、今回行う〇...
More

解けない連立方程式とディープラーニング(深層学習 Deep Learning)

こんにちは。 今回は、ディープラーニング(深層学習 Deep Learning)について、少しお話をしたいと思います。テレビなどでも「人工知能」に関するニュースが多くなってきましたが、いずれも、このディープラーニングという手法が背景にあるようです。 ●画像認識と強化学習(DQN)を中心とした、ディープラーニングの書籍「実装 ディープラーニング」をオーム社から出版しました。詳しくはこちらをご覧下さい。 まずは、簡単な一次関数の問題から始めます。 問題 1  2点P(1, 1)、Q(3, 4)を通る1次関数 \(y = ax + b\) について \(a\)、\(b\)の値をそれぞれ求めましょう。 これは、中学校で勉強する1次関数についての問題です。次のような連立方程式を解けばよいですね。 \[ \left\{ \begin{eqnarray} a + b &=& 1 \\ 3a + b &=& 4 \end{eqnarray} \right. \] これを解いて、傾き \(a = 1.5\) 、切片 \(b = -\ 0.5\) となります。求める1次関数は、 \[ y = 1.5x\ -\ 0.5 \] です。 この1次関数をグラフにかくと、次のようになります。2点をピッタリ通る直線を1...
More

iPhone と Android の Web サイト表示速度の比較

今やスマホの普及率は約50%にもなりました。2人に1人はスマホで Web サイトを見ていることになりますね。そこで今回は、iPhone vs. Android をお届けします。と言っても、価格の比較でも機能の比較でもありません。Web サイトにアクセスしたときの表示速度の比較です。 果たして差があるのか? TrafficPatrol2 に追加された、スマートフォン実機による計測機能を利用して、実験してみました。 ※なお、本記事は iPhone と Android とのどちらが良いかのお話ではありません。 使用機種 使用したスマホの機種は次のとおりです。インターネットにつながる回線は、共通(社内の Wi-Fi 回線)にしました。  iPhoneAndroid メーカーAppleLG 機種名iPhone 5SNexus 5 OSiOSAndroid バージョン9.16.0.1 通信環境Wi-Fi ブラウザSafariChrome シナリオ TrafficPatrol2では、ブラウザにさせる一連の動きを「シナリオ」と呼びます。今回は、 某 Web サイトにアクセス ログイン画面表示 ログイン実行(ID 、パスワードを入力) 商品検索 商品詳細へ カートに追加 カー...
More

書籍「見えないものをさぐる ―それがベイズ」のご紹介

●書籍「見えないものをさぐる ―それがベイズ」のFAQ を作成しました。 こんにちは。 今回は、書籍「見えないものをさぐる ―それがベイズ」について、本の目次を中心に、内容を少しご紹介したいと思います。 「ベイズには興味はあるけど、とっても難しそうで、どんな所で役立っているのかもよくわからない」という方も多いと思います。そのような方が、ノートパソコンを片手に気軽に読んで、「面白いなー」と思っていただける本を目指しました。 第1章 宇宙から届いた箱の中身をさぐる - これがベイズの考え方 第1章では、ベイズの定理の考え方や、この書籍の全体像について説明しています。 宇宙から届いた箱の中身を、箱に手を差し込んで探ってみようという内容です。 ベイズの定理の式はでてきませんが、手を差し込む、つまり観測で得た情報をもとに、隠れている、「見えない状態」を探るという考え方について述べています。 第2章 病気の検査 - ベイズの定理 第2章でやっと、ベイズの定理がでてきます。 ベイズの定理で例題によくあげられる「病気の確率」を例に、ベイズの定理がどのように使われているかを述べています。 「病気の確率」では、『検査で陽性と判定されても、病気の確率は意外...
More

あやしいサイコロと『隠れマルコフモデル』

こんにちは。 今回は、サイコロを使いながら 隠れマルコフモデル(Hidden Markov Model) をテーマにしたいと思います。 隠れマルコフモデルはDNA解析や、音声解析で利用されている基礎テクニックです。   ●ベイズ統計「見えないものをさぐる ―それがベイズ」を出版しました。詳しくはこちらをご覧下さい。 ●画像認識と強化学習(DQN)を中心とした、ディープラーニングの書籍「実装 ディープラーニング」をオーム社から出版しました。詳しくはこちらをご覧下さい。   サイコロゲーム サイコロは、みなさん良くご存じのとおり、1~6 までの目があって、その目の出方(確率)は、どの目をみても「同様に確からしい」というものです。 今回は少し物語風です。 AさんとBさんは、Cさんの家で 3 人でサイコロゲームを行いました。 ゲームはいたって簡単で、それぞれが見えないように数字を紙に書いて、 1 個のサイコロを振って、紙の数字とサイコロの目があっていれば勝ちというものです。 サイコロを振るのはCさんで、Cさんがいわゆる胴元です。 Aさんは、あとでサイコロの目を確認したかったので、出た目をすべて記録していました。 サイコロは全部で 200 回投げられましたが、中盤あたりからCさんの勝ちが目立つようになり、最後はCさんの一人勝ちに...
More

因果関係を確率で表現するベイジアンネットワーク

こんにちは。 今回はベイジアンネットワークをテーマにしたいと思います。 最初にベイズ確率についてお話しします。 ●ベイズ統計「見えないものをさぐる ―それがベイズ」を出版しました。詳しくはこちらをご覧下さい。 ●画像認識と強化学習(DQN)を中心とした、ディープラーニングの書籍「実装 ディープラーニング」を、オーム社から出版しました。詳しくはこちらをご覧下さい。 ベイズ確率 ベイズの定理でよく例題にあげられるのが、病気の確率の問題です。 <例題> ある病気を発見する検査法は、その病気の99%を発見するが、健康な人の3%にも反応し誤った診断を下すという。日本国内にはその病気の患者は0.1%であることがわかっている。   さて、ある日本人がこの検査を行なったら病気であると診断された。 この人が本当にその病気の患者である確率は何%か?   病気である事象を B1、病気でない事象を B2、検査で病気と判定される事象を A とすると、例題は下図ように整理することができます。   検査で病気と判定された(A)ときに、その病気である確率(B1)を求めるので、条件付き確率 P( B1 | A ) を求めればよいことがわかります。 ベイズの定理より、P( B1 | A ) = 0.0319 となり、例題の...
More

ベイズ統計とベイズ更新

こんにちは。 今回は少し統計について書きたいと思います。 ●ベイズ統計「見えないものをさぐる ―それがベイズ」を出版しました。詳しくはこちら ベイズ統計の基本的な考え方は、事前確率と事後確率にあります。 例えば、コインAを2回投げて、表と裏が一回ずつでたとすれば、このコインAの表がでる事前確率は0.5 となります。このコインAで、再度2回投げたら2回とも表だったとします。すると、このコインAの表の出る確率、すなわち事後確率は0.75になります。 このようにある事象があった場合に、確率をどんどん変化させていくことをベイズ更新といいます。ベイズ更新は事象があるたびに行うことができるので、ベイズ統計は少ない試行でも、このベイズ更新によって、私たちが経験的に「そうだ」と思うような確率に近づいていくので重宝されています。 ベイズ的に考えなくても、上の例では、合計4回投げて表が3回でたのですから、確率0.75 には納得がいきます。     さて、ここで次のような事例を考えます。 昨年1年間、ある薬Bの効果を調べたら 確率 0.4 で効果があることがわかった。 この調査で100個のデータを集めたのか、あるいは1万個のデータを集めて集計した結果なのかはわかっていません。この薬Bが効く確率(事前確率)は0.4であると...
More

Hadoopは巨大なNFSサーバとして使用できるのか

こんにちは。 今回は「優秀なファイルシステムであるHDFSですが、現行のNFSサーバを置き換えることができるだろうか」という事について考えてみたいと思います。   まず、HDFSのメリットについて再確認してみます。 Hadoop - HDFSのメリット 安価に大容量のファイルシステムが構築できる。 ストレージサイズの拡張が簡単に行える。 分散配置されたブロックごとに通信が発生するため、ファイルの取得・格納スピードが速い。 ファイルのレプリケーションが自動で行われるため、マシントラブルによるデータ喪失が起こりにくい。 データ容量と比例して計算能力を獲得できる。   特に注目すべきなのは 「5. データ容量と比例して計算能力を獲得できる」という事です。 今までのNFSサーバは、ファイルを格納するためだけのサーバというイメージが強く、またそのように使用しているユーザーが大半だと思います。 Hadoopでは、容量拡大のためにスレーブマシンを増やせば増やすほど処理性能も上がりますので、知らず知らずのうちにスーパーコンピュータ並の計算能力を得ることができているかもしれません。   良い事ばかりのように見えるHDFSですが、NFSのようにマウントして使用するには、別のシステムを一つ経...
More