サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Google I/O
qiita.com/icoxfog417
Slackは、チーム内のコミュニケーションを取るためにはとても便利なツールです。 しかし、おそらくあなたが気付いているように、Slackはあなたの「集中タイム」を断片化します。投稿をしたら反応が気になる、投稿をしていなくてもどんな話題が交わされているのか気になる、時には重要な情報が飛んで来ることもあるから見逃せない・・・こうして、Slackのタブに灯る「*」マークは一瞬にして集中していた作業時間をストップさせてしまいます。 堅苦しい会議も時間の無駄になりがちですが、その一方でこうしたチャットツールによる「コミュニケーションの断片化」もまた問題であると言えます。 そこで今回考案したのが、Slack Refereeです。これは、端的にはSlackチャンネルを休憩スペースにするというアイデアです。つまり、休憩時間中だけ会話が可能で、それが終わったら作業を行う集中タイムに戻る、ということです。 コ
「あなたって、私の言葉の最後の方しか聞いてないのね」 実は人間だけでなくニューラルネットワークもそうだった、という結果を示しているのがこちらの論文です。 Frustratingly Short Attention Spans in Neural Language Modeling 言い訳としては「だって君の次の言葉を予測するだけならそれで十分だから」ということになるんですが、そう言うと角が立つのは人間関係においても研究においても同様のようです。 本編は、上記の論文の紹介と共に他の関連論文も交えながら、実際の所本当に最後の方しか必要ないのか、そうであればなぜそんなことになるのか、という所について見て行ければと思います。 なお、参照した論文は以下のGitHubで管理しています。日々更新されているため、研究動向が気になる方は是非Star&Watchをして頂ければと!。 arXivTimes At
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 最近「人工知能が~」というニュースが山のように出てきますが、その中にはだいぶ誇張された表現のものも少なくありません。 人工知能関連の技術に注目が集まるのは、研究資金の増加や案件の発生という面では良いことです。しかし、「仕事が奪われるぞ!」みたいな過度な不安を煽ったり、「人工知能だったら何でもできるんやろ?」といった過度な期待を煽ってしまうことで、実体とはかけ離れた議論や誤解を生んでしまうという面もあります。 本稿では、目についた中で大きな誇張があるニュースを取り上げるとともに、その実際のところはどうなのか?について紹介をしていきたいと思
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 気づいているでしょうか。今日を含め、あと7日間で2016年が終わります。 今年も仕事に追われ新しい技術の習得がままならず、クリスマスを一緒に過ごす相手もいない・・・そう、世界に一つだけの、ナンバーワンでないロンリーワン・・・(あれ、目から鼻水が)それで2016年を終えてしまってもいいのでしょうか? 大丈夫です。あと7日間あります。Tech-Circle Hands on Advent Calendar最終日は我々Tech-Circleで開催したハンズオンから厳選し、新年をシリコンバレーで起業!?して過ごすための一日一ハンズオンをご紹介し
数あるフレームワークに付属するExample、機械学習モデルを実装してみた、という話。これらに共通して言えるのは「テストがない」ということです。 機械学習のモデルだって、アプリケーションに組み込まれればプロダクションコードの一部です。テストがない実装を本番環境に組み込むか?というと通常そんなことありえないと思います。 ([スタジオジブリ 紅の豚](https://www.amazon.co.jp/dp/B00005R5J6) より拝借) 忘れられがちな点ですが、機械学習モデルは「リリースした瞬間」が最高精度になります。なぜなら、リリースした瞬間こそがその時点で手に入るフルフルのデータを使って鍛え上げたモデルであり、それ以降はどんどん未知のデータが入ってくるためです。 そのため、モデルの精度、また妥当性をいつでも検証できるようにしておくというのはとても重要です。これは通常のコードにテストをつ
RNN「これってもしかして」 CNN「わたしたちのモデルが・・・」 「「入れ替わってる~~~!?」」 というわけでQRNN、QUASI-RECURRENT NEURAL NETWORKSとは、RNNの機構をCNNで「疑似的(QUASI)に」実装するというモデルです。これにより、既存のRNN(というかLSTM)が抱えていたいくつかの問題の解決を試みています。 元論文は以下となります。 QUASI-RECURRENT NEURAL NETWORKS 作者によるブログ 作者の方のブログにChainerのサンプルコードがあったので、それを元にTensorFlowで実装してみました。早く動かしたい!という方はこちらを見てみてください。 icoxfog417/tensorflow_qrnn (Starを頂ければ励みになります m(_ _)m) 本記事では、この研究のモチベーションとそのアプローチについ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 機械学習も含めた、データの活用は現場主体のほうが上手くいくという実感があります。大体、トップダウンで行うようなものは以下のような感じになるためです。 そうすると・・・ じんこうちのうコンサルタント(自称)があらわれた! 「機械学習を使うには、業務の分析が欠かせません。ひいては、まずコンサルティング契約(x百万)を結んでいただきそのあとに・・・」 じんこうちのうサービス(自称)があらわれた! 「弊社のサービスを使えば簡単ですよ!噂のディープラーニングで高精度な画像認識、音声認識を約束します!え、データは画像でも音声でもない?大丈夫です!な
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 現場を改善するというのは難しい。そして徒労である。 こちらの記事を読んで、当時のことを幾ばくか思い出すきっかけになった。 業務改善を現場に求める狂気 私も実際に現場の改善に取り組んだことがある。ただ、その中には失敗だけでなく成功もある。というか、多くの失敗から成功させるために何が必要なのかを得たという感じで、成功したものは後半に行ったものになる。成功といえるものの中で大きめなものは、以下の二つになる。 Gitによるバージョン管理と、タスク管理ツールの導入(当時書いたもの) 開発にJavaScriptフレームワークを導入(当時の検証結果を
※0.12から公式でWindowsビルドが提供されるようになりました! Release 0.12.0/Major Features and Improvements 最近(たぶん2016/10ぐらいから)、TensorFlowがWindowsでビルドできるようになりました。 以下に、CMakeを利用したビルドの手順が公開されています(ただ、今後はbazelへ移行すると思われます)。 tensorflow/tensorflow/contrib/cmake/README.md かなり丁寧に書かれているので、基本的にはこの通り行っていけばビルド、またPythonラッパーの生成を行いWindowsネイティブでPython x Tensorflowを使用することができます。 ただ、ビルドに結構時間がかかるので、手っ取り早く使いたい方は以下に私がビルドしたものを置いてありますので、使ってみてください。
「フランス」-「パリ」+「東京」=「日本」 こんな単語同士の演算ができる、と話題になったのがGoogleが発表したWord2Vecです。これは端的に言えば単語を数値で表現する技術で、これにより単語同士の「近さ」を測ったり、上記のような演算をすることが可能になります。この、単語を数値表現にしたものを分散表現と呼びます。 今回紹介するFacebookの発表したfastTextはこのWord2Vecの延長線上にあるもので、より精度が高い表現を、高速に学習できます。本稿ではその仕組みと日本語文書に対しての適用方法について解説していきます。 fastTextの仕組み fastTextでは、Word2Vecとその類型のモデルでそれまで考慮されていなかった、「活用形」をまとめられるようなモデルになっています。具体的には、goとgoes、そしてgoing、これらは全て「go」ですが、字面的にはすべて異なる
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
自然言語処理、また音声認識を学習するためのデータは各種の研究機関などから提供されています。 ここでは、それらのデータのありかをまとめておきます。他にもあるぞ、という情報がありましたらぜひお寄せください。 高度言語情報融合フォーラム(有料) 多様な言語資源、音声資源、ソフトウェアツールを提供してくれている団体です。ただし、ダウンロードには会員登録が必要です(入会金10万円だが、年会費などはなし)。 データセットはこちらから参照できます。研究機関限定ですが、楽天のデータなどもあります。 ALAGIN 言語資源・音声資源サイト 資源 それと、毎年開催されている音声認識・音声対話技術講習会に優先枠で申し込むことができます。この講習会は音声対話を行おうとしている人なら一回入っておくといい講習会なので、こちらもおすすめです。 コーパス開発センター(有料) その名が正に体を表すサイト。書き言葉、話し言葉
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ロボットから自動運転車、はては囲碁・将棋といったゲームまで、昨今多くの「AI」が世間をにぎわせています。 その中のキーワードとして、「強化学習」というものがあります。そうした意味では、数ある機械学習の手法の中で最も注目されている(そして誇張されている・・・)手法ともいえるかもしれません。 今回はその強化学習という手法について、基礎から最近目覚ましい精度を出しているDeep Q-learning(いわゆるドキュン、DQNです)まで、その発展の流れと仕組みについて解説をしていきたいと思います。 本記事の内容をベースに、ハンズオンイベントを開
機械学習を行うために、画像から特定の物体(領域)だけ切り出して認識したり学習データを作りたい、ということがよくあると思います。 本稿では非常に多くの機能を持つOpenCVの中から、そうした機械学習のために利用する機能にフォーカスしてその利用方法を紹介していきたいと思います。具体的には、下記のモジュールを中心に扱います。 CVPR 2015 Tutorials 基本的な切り出しの手順は以下のようになります。以下では、このプロセスに則り解説を行っていこうと思います。 前処理: 物体検出が行いやすいように、画像の前処理を行います 物体検出: 物体の検出を行い、画像から切り出します 輪郭検出: 画像上の領域(輪郭)を認識することで、物体を検出します 物体認識: OpenCVの学習済みモデルを利用して対象の物体を認識し、検出を行います 機械学習の準備: 切り出した画像を用い、予測や学習を行うための準
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ザリガニに挟まれて持ち上げられるなんてことがたまにあると思いますが、そんな時どれだけ激しい動きだったのか解析したい!なんてこともあるんじゃないでしょうか。 出典: ASIAN KUNG-FU GENERATION 『君の街まで』 (ソルファ リメイク記念) そうした(?)、画像間の動きを表現したものがOptical Flowです。Optical Flowは、2つの画像間で各点がどう動いたのかを表現します。これを計算することで、↑の図のように画像上の特徴点の動きを解析したりすることが可能になります。 本稿では、そのOptical Flow
Git for Windowsが2系に上がってから、付属のGit Bashでpythonなどの対話モードで扱うコマンドがうまく動かなくなりました。 これはGit Bashに使われているMinTTYの既知の不具合(というか仕様?)らしく、対話モードを伴うコマンドはwinptyを使えということのようです。つまり、Git Bash上で以下のようにpythonを起動すれば正常に動作します。 winpty python いちいちwinptyつけないといけないのか、めんどくさい、という方は<Git installed folder>\etc\profile.d\aliases.shを修正することでも対応できます。for name in ...の所に、winpty経由にしたいコマンドを追加すればOKです。
Pythonのasyncio、またasync/awaitについてはあまり実践的な例が出回っていなかったため、収集した情報をもとに用例ベースの逆引きリファレンスを作ってみました。 ただ、この辺はほんとに情報がなくて何が真実なのか謎に包まれている点があるので、情報をお持ちの方はぜひご連絡をいただければと思います。 今回紹介する例は、以下のgistにまとめてあります。実装時の参考にしていただければと思います。 icoxfog417/asyncio_examples.py はじめに Pythonにはthreading、multiprocessing、asyncioとどれも並列処理に使えそうなパッケージが3つあります。これらの違いをまず押さえておきます。 これらのパッケージの違いは、そのまま「マルチスレッド」、「マルチプロセス」、「ノンブロッキング」の違いに相当します。まず、マルチスレッドとマルチプ
Deep Learning系のライブラリを試すのが流行っていますが、Exampleを動かすのはいいとしても、いざ実際のケースで使おうとするとうまくいかないことがよくあります。 なんとか動かしてみたけれど精度が出ない、データの加工の仕方が悪いのか、モデルのパラメーターが悪いのか、原因がぜんぜんわからん・・・という事態を乗り越えるには、やはり仕組みに対する理解が必要になってきます。 そんなわけで、本編では画像の用意という一番最初のスタートラインから、Chainerで実装したCNNを学習させるところまで、行うべき手順とその理由を解説していきたいと思います。 前段として理論編を書いていますが、ここではライブラリなどで設定しているパラメーターが、理論編の側とどのようにマッチするのかについても見ていきたいと思います。 なお、今回紹介するノウハウは下記リポジトリにまとめています。画像認識を行う際に役立て
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 機械学習の世界において、画像といえばConvolutional Neural Network(以下CNN)というのは、うどんといえば香川くらい当たり前のこととして認識されています。しかし、そのCNNとは何なのか、という解説は意外と少なかったりします。 そこで、本記事ではCNNについてその仕組みとメリットの解説を行っていきたいと思います。 なお、参考文献にも記載の通り解説の内容はStanfordのCNNの講座をベースにしています。こちらの講座はNeural NetworkからCNN、はてはTensorflowによる実装まで解説される予定な
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Building and Learning from a Contextual Knowledge Base for a Personalized Pyhsical Therapy Coachのまとめ 要約 相手に合わせた対話(=対話のpersonalize)を行うために、対話における文脈情報(Contextual Knowledge Base = CKB)を活用しよう、というのが論旨。「対話における文脈情報(CKB)」とは、ユーザーの発話以外にも、センサーからの情報(どういう姿勢なのか、どういう動きをしているかなど)からも得られる。
All my statements are from fun fancies, not a boring story that represents a company that I belonging to. Follow
$k$は定数で、だいたい0.04~0.06くらいです。Rの値によって以下のように分類できます。 Rが大きい: corner Rが小さい: flat R < 0: edge 図にすると、以下のようになります。 CSE/EE486 Computer Vision I, Lecture 06, Corner Detection, p22 これで手早くcornerを検出できるようになりました。ここで、corner検出についてまとめておきます。 cornerは複数のedgeが集まる箇所と定義できる 変化量をまとめた行列の固有ベクトルからedgeの向き、固有値の大きさから変化量の大きさ(edgeらしさ)がわかる 2つの固有値の値を基に、edge、corner、flatを判定できる 固有値の計算は手間であるため、判定式を利用し計算を簡略化する なお、Harrisはedgeの向きである固有ベクトルを考慮す
論文読み: Stochastic Language Generation in Dialogue using Recurrent Neural Networks with Convolutional Sentence Reranking機械学習論文読み Stochastic Language Generation in Dialogue using Recurrent Neural Networks with Convolutional Sentence Rerankingの内容のまとめ 概要 RNNとCNN(とBackward RNN)を組み合わせることで、精度の高い応答文生成(=Natural Language Generation、以下NLG)を行った研究 NLGは、対話において以下のパートを担う。Dialog Managerからの指示に基づき、応答文を生成する。 「Dialog M
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ブルーライトに目が焼かれるよりも、ブルーオーシャンで目を癒したい。 もうすぐ2015年も終わりに近づいていますが、皆様いかがお過ごしでしょうか。年末ぐらいは自然に還りたいということで、今回はトピックモデルを利用した対話形式で旅行提案を行うアプリケーションの作成方法についてご紹介します。 本記事は、以前公開したトピックモデルを利用したアプリケーションの作成の姉妹記事になります。 当時はアプリケーションの作成が追い付いておらず、「アプリケーションの作成」と言っておきながらアプリケーションの作成に至っていなかったため、それを補完する内容になり
Pythonで機械学習を行う際によく使われるscikit-learnから、最近話題のTensorFlowを呼び出して使えてしまうという、目がくらむようなライブラリが登場しました。しかもgoogle謹製。それがskflowです。 TF Learn ※0.8.0から、TensorFlow本体に組み込まれました scikit-learnには今までニューラルネットワーク系の実装がなかったのですが、これによりニューラルネットワークはもとより、ディープラーニングまで扱えるようになります。 また、TensorFlow側にとってもscikit-learn側に豊富にあるデータの前処理の機能(Preprocessingなど)と連携できるのは大きなメリットです。 そういう意味では、この二つをつなぐskflowの登場により機械学習処理の構築は非常にやりやすくなると思います。 インストール TensorFlowの0
kintoneはそれ単体でも便利なサービスですが、APIを利用することでより活用の幅が広がります。特に、アプリケーションの作成や変更を行うAPIまで公開しているのはなかなかないのではないでしょうか。 kintone API というわけで、今回は誰でも手軽に送れるメールという連絡手段と、kintoneを連携させ、アプリケーションの作成からデータの登録、はてはその共有までを行った例をご紹介します。 本件については、kintone devCamp 2015での発表を行っています。興味がある方は発表資料も見ていただければと思います。 kintone devCamp 2015 ultra fast improvement 動機 業務を改善していくに当たっては、気づきの共有が欠かせません。良く知られているのは、ヒヤリハットなどです。 ただ、こうした気づきは揮発的なものですし、それを共有するために「業務
Falconは、Web APIサーバーの構築に特化したWebアプリケーションフレームワークです。 他のフレームワークがテンプレートエンジンやO/Rマッパなどのリッチな機能を詰め込んだ大衆車だとすれば、FalconはWeb APIサーバーに必要な機能だけにフォーカスし研ぎ澄まされた、F1マシンのようなフレームワークになっています。 Falcon Official Page 特筆すべきは、そのシンプルな設計と圧倒的な速度です。 以下は公式ページに掲載のベンチマークです(2015/11/26時点、PyPy2.5.1での比較結果)。 シンプルなフレームワークと言われるFlaskの27倍、Bottleの1.5~2倍の速度で動作します。 実装も非常に簡単です。以下は、シンプルなJSONレスポンスを返すサーバーの実装例です。 pythonで実行すると8000番ポートでサーバーが立ち上がり、アクセスすると
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? TensorFlowは主に機械学習、特に多層ニューラルネットワーク(ディープラーニング)を実装するためのライブラリになりますが、その基本的な仕組みを理解するのにそうした難しい話は特に必要ありません。 本記事では、TensorFlowの仕組みを、算数程度の簡単な計算をベースに紐解いていきたいと思います。 TensorFlowの特徴 初めに、TensorFlowの特徴についてまとめておきたいと思います。 TensorFlowは、その名前の通りTensor(多次元配列、行列などに相当)のFlow(計算処理)を記述するためのツールです。その特徴
次のページ
このページを最初にブックマークしてみませんか?
『@icoxfog417のマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く