背景 仕事をしているとき、業務に関係ない情報を閲覧していることって誰でもありますよね? そんなときに背後にボスが忍び寄っていると気まずい思いをします。もちろん急いで画面を切り替えれば良いのですが、そういう動作は逆に怪しまれることになりますし、集中しているときは気がつかないこともあります。そこで怪しまれずに画面を切り替えるために、ボスが近づいてきたことを自動的に認識して画面を隠すシステムを作ってみました。 具体的にはKerasを用いてボスの顔を機械学習し、カメラを用いて近づいてきたことを認識して画面を切り替えています。 ミッション ミッションはボスが近づいてきたら自動的に画面を切り替えることです。 状況は以下のような感じです。 ボスの席から私の席まではだいたい6,7mくらいです。ボスが席をたってから、4,5秒で私の席に到達します。したがって、この間に画面を隠す必要があるわけです。時間的余裕は
連載目次 最近注目を浴びることが多くなった「Deep Learning(ディープラーニング・深層学習)」と、それを用いた画像に関する施策周りの実装・事例について、リクルートグループにおける実際の開発経験を基に解説していく本連載。 前回までは、下記のように解説してきました。ニューラルネットワーク、Deep Learning、Convolutional Neural Net(CNN)の基礎知識と活用例、主なDeep Learningフレームワークを紹介し、リクルートグループで画像解析において積極的に利用しているフレームワーク「Caffe」を中心にDeep Learningを利用した画像解析について解説。そして、リクルートグループにおける画像解析の事例を紹介し、ビジネスへの活用に当たり、CNNだけでは乗り超えられない壁を乗り越えるまでの試行錯誤の過程を解説しました。 第1回「ニューラルネットワー
Deep Learningという言葉を色んなところで聞くようになり、Googleからも TensorFlow というものが出たし、そろそろちょっと勉強してみるか〜 ということで初心者が機械学習に手を出してみた。 TensorFlowのtutorialを見てみると、まず最初に「MNIST」という手書き文字の識別問題が出てくる。その問題に対して、こういうモデルを作ってこうやって学習させていくと91.2%くらいの識別率になります、さらに飛躍させてこういうモデルでこうやって学習させると99.2%くらいまで識別率が上がります、とか書いてあって、確かになるほどーと数字で納得もできるのだけど、せっかくなら実際にその学習結果を使って自分の書いた数字を識別してもらいたいじゃないか、ということで そういうのを作ってみた。 https://github.com/sugyan/tensorflow-mnist c
畳み込みニューラルネットワーク (Convolutional Neural Network) を勉強するため、MNISTのデータの識別をライブラリ(Caffeやcuda-convnetなど)を使用せず一から実装してみましたが、ここでは備忘録として書いていくことにします。 出来る限り理解し易いように書いていくように努力はします。(^_^;; おかしな点があれば教えてください。お願いします。 まずは二値分類 多次元の入力データから、それが識別対象かそうでないか(例えば画像から人かそうでないか)といった二値分類の学習を考えます。 入力を\(n\)次元の\(\mathbf{x}=(x_1\ x_2\ \dots\ x_n)^\text{T}\)*1、重みを\(\mathbf{w}=(w_1\ w_2\ \dots\ w_n)^\text{T}\)とし、これら入力と重みを掛け合わせたものとバイアス\
1日ちょっと前に、PFNから新しいディープラーニングフレームワーク"chainer"が公開されました[1]。触ってみた感じの特徴は、pythonのコードで完結するので、システムに組込みしやすそうで、処理の内容も読みやすい。同時に、処理の内容に興味を持たずに使うには難しいという思いでした。ベースにしてあたらしいツールを作るには最適に感じるので、これから、chainerをベースにした様々な用途のツールができるのが期待されます。 CPU用インストール ~ MNISTのトレーニング ここでは、chainerのチュートリアル[1]に書いてあるとおりにインストールと初期タスクをおこなうだけです。 インストールは、githubからソースを落としてきてpython setup.py installでも、pipで入れてもいいと思います。とりあえずここではpip pip install chainer これで
前回の記事ではchainerのインストールからサンプルコードを使って画像識別問題を解くところまでやりました。 hi-king.hatenablog.com 今回の記事では回帰・分類問題用のシンプルなニューラルネットの作り方をやろうと思います。andとxorの論理式を学習させます。chainerでの実装の学習と、あとニューラルネットの教育目的に使いやすいなーと思ったので。2層のニューラルネットまで段階をふんで解説してるんですが、プログラム読むほうが得意、って方は一番最後のコードを先に読んだほうがわかりやすいかもしれません。 追記(7/13)型チェック chainer1.1.0から型チェックが入ったので(https://github.com/pfnet/chainer/pull/95)、識別にはfloat32を入力してint32を出力、回帰にはfloat32を入力してfloat32を出力、とい
巷ではDeep Learningとか急に盛り上がりだして、機械学習でもいっちょやってみるかー、と分厚くて黄色い表紙の本に手をだしたもののまったく手が出ず(数式で脳みそが詰む)、そうか僕には機械学習向いてなかったんだ、と白い目で空を見上げ始めたら、ちょっとこの記事を最後まで見るといいことが書いてあるかもしれません。 対象 勉強に時間が取れない社会人プログラマ そろそろ上司やらお客様から「機械学習使えばこんなの簡単なんちゃうん?」と言われそうな人 理系で数学はやってきたつもりだが、微分とか行列とか言われても困っちゃう人 この記事で行うこと 数学の基礎知識に慣れるための、数式が最初から出てこないプログラマ向けの数学入門書の紹介 機械学習の初学者には鉄板の、オンライン講座(MOOC)の機械学習コース紹介 環境 WindowsでもMacでもLinuxでも大丈夫(MATLAB/Octaveというツール
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く