タグ

あとで読むに関するslkbyのブックマーク (184)

  • 強化学習の基本 Qラーニングを直観的に理解するためのアニメーションによる可視化 - Qiita

    経路探索問題を強化学習で解き、その過程をアニメーションで可視化しました。 ↑↓で速度調節、Spaceで最速の学習、ドラッグ or タップで障害物の追加ができます。 これにより、強化学習で何をしているのか直観的に分かりやすくなりました。 問題設定 アニメーションで可視化している問題の設定は、下記の通りです。 条件 $n\times n$のマスからなる離散的なフィールド 固定の初期位置と目標位置(⭐)、障害物が配置されている 障害物(🔴)は、踏んだら死ぬ。初期位置からやり直し 自機(👾)は単位時間に8方向のいずれかへ1マス移動できる 横移動と斜め移動のコストは同じ 得たい出力 初期位置から目標位置までの、障害物を回避した最短経路 この問題を強化学習のフレームワークに落とし込み、Qラーニングで求解しています。 詳細は後述します。 各インジケータの意味 可視化の見方を説明します。 前節で述

    強化学習の基本 Qラーニングを直観的に理解するためのアニメーションによる可視化 - Qiita
  • Googlerも学んだAI講座、「Learn with Google AI」で一般公開

    この講座のオリジナルは、Googler(Googleの従業員)向けに開発したもので、これまでに1万8000人以上が受講した。その成果がDaydreamのカメラカリブレーションやGoogle EarhのVR機能、YouTubeのストリーミング品質の向上などに反映されているという。 関連記事 Google、プログラミングができなくてもAIツールを作れる「AutoML」のα版提供開始 Googleが、少量の教師データをアップロードして転移学習させるだけでAIツールを構築できる「Cloud AutoML」を発表した。まずは画像認識向けの「AutoML Vision」のα版を提供開始する。 Google音声認識システム訓練用データセットをオープンソースで提供 Googleが、クラウドソーシングで集めた6万5000件の短い英単語の音声録音のデータセット「Speech Commands Dataset

    Googlerも学んだAI講座、「Learn with Google AI」で一般公開
  • プロセスがどのようにスケジューリングされるのか実験してみた - Qiita

    twitter で評判だった「Linux のしくみ」を最近買いました。前評判通り、実際に動くコードを用いて実験ベースで Linux の仕組みを説明してくれる良いで、これは非常にお勧めできるなと思いました(6〜7割よみつつ、今いろんな箇所の実験を手元でやってみています)。 第4章 プロセススケジューラの部分では、プロセスに対して、論理CPU がどのように割り当てられるのか説明しつつ、それが当に正しいのかを、コードを使って実験してみることにより示していました。だいたいの内容を読み、まぁそうですよね...と納得しつつも、実際に手元マシンで実験してみたことはなかったので、今回自分の手を動かしてやってみることにしました。 実験内容 複数のプロセスを生成して、それぞれのプロセスにおいてループを回して、ユーザーモードの負荷をかけたとき、どのように各プロセスが実行されるかを観察する 測定の際は、複数の

    プロセスがどのようにスケジューリングされるのか実験してみた - Qiita
  • 探索的データ解析における正しい可視化手法の選び方と描き方 - Qiita

    データ分析における関数の使い方については様々な記事が上がっています。関数を知らなかったり使い方が分からないときは調べればだいたい答えが見つかります。 一方で、実際に分析を始めようとすると、たとえ関数の使い方がわかっていても、データをどのような切り口から何を分析・可視化していけば良いのか困ってしまうことがよくあります。 この記事では、あんちべさんが書いたデータ解析の実務プロセス入門というをベースに、どのようなデータから何を見たいときにどのような可視化手法を使えばよいのかを、具体例を交えながら整理していきます。 探索的データ解析とは データ解析のアプローチは、大きく分けて仮説をデータで検証する「仮説検証型」とデータから仮説を生み出す「探索型」に分けられます。 実際にデータ解析を行うときは、仮説検証型と探索型を行き来しつつ知見を見出していきます。 データ解析には検証すべき仮説を設定することが必

    探索的データ解析における正しい可視化手法の選び方と描き方 - Qiita
  • 深層学習による非滑らかな関数の推定

    1. The document presents a method for deep learning using variational autoencoders that model the relationship between pairs of data points (x1, x2). 2. It introduces variables to represent latent vectors z and z~ that are used to generate x1 and x2, as well as a subset S of dimensions that relate x1 and x2. 3. The method works by training an encoder qφ(z|x) to approximate a prior p(z) and maximiz

    深層学習による非滑らかな関数の推定
  • Facebookの予測ライブラリProphetを用いたトレンド抽出と変化点検知 - Gunosyデータ分析ブログ

    Gunosyデータ分析部アルバイトの五十嵐です。 Gunosyには大規模なKPIの時系列データがあります。 今回はKPIの時系列分析を行なった際に得た知見についてまとめたいと思います。 具体的にはFacebookが開発した時系列予測ツール Prophetを用いて、KPIのトレンド分析を行いました。 時系列予測について Prophetについて 実装例 モデルの適用 将来のアクセス数予測 トレンド性と周期性の抽出 変化点抽出 Slackを利用した自動化 まとめ 時系列予測について 以前、 KPIのトレンド抽出について以下のブログで紹介しました。 data.gunosy.io ここでは時系列データをトレンド成分と季節成分に分解し、トレンドの把握を容易にする分析を行なっていました。 KPIのトレンドを知ることでサービスの状態を把握することが目的でした。 今回はこの分析をさらに進め、トレンドの変化点

    Facebookの予測ライブラリProphetを用いたトレンド抽出と変化点検知 - Gunosyデータ分析ブログ
  • 7日間でマスターするUnityシェーダ入門 - おもちゃラボ

    この記事は、これまでにおもちゃラボで紹介してきたUnityのシェーダ入門記事40のまとめです。 1日に5記事読めば7日間で読み切れるはず...今のところ(笑) シェーダって時々聞くけど難しそう・・・というイメージをお持ちの方も多いと思います。でも、Unityを使えばかなりのメンドウな部分はUnityにおまかせできちゃうので、当に必要な部分のシェーダを書くだけでイメージ通りの絵作りができるようになります。 使用するシェーダ Unityで使えるシェーダにはsurfaceシェーダと頂点/フラグメントシェーダの2種類があります。ここではこの2つのシェーダの他、ライティング・ポストエフェクトの内容も解説しています。それぞれの各記事へのリンクを下にまとめておきます。また、Unity2018からはノードベースでシェーダを作成できるShader Graphという機能も提供されるようになりました。これか

    7日間でマスターするUnityシェーダ入門 - おもちゃラボ
  • 次世代バックグラウンドジョブシステム Faktory を試す - リサーチ・アンド・イノベーション 開発者ブログ

    リサーチ・アンド・イノベーションの浜田(hamadu)と申します。 いつものお買い物がちょっとお得に、家計簿にもなるポイントアプリ「CODE」のサーバサイド、およびAndroidアプリの開発を担当しています。 序 CODE ではバックグラウンドジョブシステムとして、Sidekiq を採用しています。その作者、Mike Perham 氏が新しい仕組みを作っていました。その名も Faktory。Sidekiq と違いワーカーが言語に依存せず、また体はGoで書かれているためスケールするのがウリのようです。まだまだ開発中で、プロダクションで使うには厳しい印象を受けますが、今後Sidekiqを置き換えうるプロジェクトになるのではと思います。 稿では簡単に仕組みの紹介をして、Rubyでジョブを投げるClientと、ジョブを処理するワーカーをそれぞれ実装してみました。 ソースコードは faktory

    次世代バックグラウンドジョブシステム Faktory を試す - リサーチ・アンド・イノベーション 開発者ブログ
  • DBが真っ白になっても55分で完全復旧ができるまでの道 | CyberAgent Developers Blog

    初めまして。サイバーエージェント技術インフラエンジニアの@prog893です。今回は「AWA」という音楽ストリーミングサービスのMongoDBクラスタの復旧時間を短縮するために行ったインフラの改善について紹介したいと思います。復旧時間が12時間から55分まで短縮できたのですが、皆さんの参考になれば幸いです。(※注意:今回紹介する施策はAWAのインフラ構成や設定のものであり、他の環境で同じような効果が得られるとは限りません) AWAのデータストア構成 まず、現在のデータストア構成について軽く説明します。こちらの図でAPIサーバ,MongoDBに関連する構成の概要を示します: AWAのデータストア構成概要 メインのデータストアとしてはMongoDBを使っており、MongoDBのインスタンスはAWSで管理しています。APIサーバ、MongoDBのインスタンスがそれぞれのプライベートサブネット

    DBが真っ白になっても55分で完全復旧ができるまでの道 | CyberAgent Developers Blog
  • 動的計画法高速化テクニック(オフライン・オンライン変換) - Qiita

    以下の問題を考えます. 1次元の直線上に地点 $x[0] < x[1] < \cdots < x[n-1]$ がある.我々は車を用いて地点 $x[0]$ から地点 $x[n-1]$ まで移動したい.途中の地点で休憩することができるが,頻繁な休憩も過剰な運転も避けたいので,休憩を挟まずに移動する距離がおよそ $a$ 程度になるようにしたい.具体的には休憩を挟まずに距離 $b$ だけ移動したとき,ペナルティとして $(b - a)^2$ がかかるとし,全体のペナルティが最小になるように移動したい.どのようにすればよいか. この問題は以下の動的計画法 (Dynamic Programming; DP) で $O(n^2)$ 時間で解けます. $$ D(j) = \min \{ D(i) + (x[j] - x[i] - a)^2 : i \in [0,j) \}, \ \ (j \in [0,n

    動的計画法高速化テクニック(オフライン・オンライン変換) - Qiita
    slkby
    slkby 2018/02/07
    プログラムとはこういう問題を解くものだと、思っていた
  • もう管理画面のフロントコードを書く必要はありません、そう Viron ならね。 - Qiita

    管理画面のフロントエンドコードを書く時代は終わりました。 Vironがあれば、OpenApi(Swagger)でAPI定義を行い、実装するだけで管理画面が完成します。 そしてこれはOSSです。誰でも自由にお使いいただけます。 概要 Vironは、複数の管理画面を管理できるよう設計された、管理ツールマネージメントコンソールです。 APIサーバーとOAS2.0 jsonファイルを作成するだけで、管理画面が一つ完成します。 経緯 私の会社では、大小さまざまな自社サービスが開発・運用されています。 管理画面をサービス・サイト毎に作っていましたが、それには限界がありました。 エンジニアからしたら、管理画面用のデザインやAPIを作らなきゃいけない。工数がかかる。 運用・プロデューサーは、UIUXが管理画面で違うため、操作を覚えるという学習コストが高い。 さらに外から見たいときにスマホから見れないし、

    もう管理画面のフロントコードを書く必要はありません、そう Viron ならね。 - Qiita
  • 東京大学の松尾研究室が無料公開している「Deep Learning基礎講座演習コンテンツ」の自主学習方法 - karaage. [からあげ]

    新たな教育プログラム「DL4US」が開始しています。 2019年5月に、松尾研究室の新たなディープラーニングの無料教材「DL4US」が公開されています。「Deep Learning基礎講座演習コンテンツ」のバージョンアップ版の位置付けなので、今から学習する方はこちらに取り組んだ方が良いかと思います。 Dockerを使った環境構築方法を紹介している記事を書いたので、もし良ければ以下記事参照下さい。 Deep Learning基礎講座演習コンテンツが無料公開 以下のようなサイトが無料公開されていました。 学習に自由に使用してよいとのことです。ただ、肝心の使用方法が詳しく書いてないので、初心者には環境構築が厳しく、簡単に環境構築できる人にとっては、知っている内容のところが多い気がして、内容が良いだけにもったいなと感じました。 そこで、ちょっと初心者向けに環境構築の補足をしてみたいと思います。 そ

    東京大学の松尾研究室が無料公開している「Deep Learning基礎講座演習コンテンツ」の自主学習方法 - karaage. [からあげ]
  • エンジンに頼らないゲームプログラマになるためのおすすめ本まとめ

    「エンジンに頼らず一からプログラミングしてるんだ~♪」(by ねねっち[アニメ「NewGame」より]) いいこというじゃない、ねねっち。 そんなわけで今回は、エンジンに頼らないで、ゲーム開発の地力を得るために必要なおすすめ技術書の数々をご紹介。Unreal EngineやUnityを使って開発する場合は、こんな記事よりもパッチノートを熟読した方が有益かもしれませんよ。 ではいってみましょう。 (編集後記:こんなに書くつもりじゃなかったのに書き出したら紹介したくなって大作(長文)になってしまった・・)

    エンジンに頼らないゲームプログラマになるためのおすすめ本まとめ
  • 数十年後に日本の人口が1億人を切るといっても実感が沸かない…→とある教授の例え方がインパクト強すぎる

    みやぐすく @Doj8xob622fXDfR とある教授が言ってた、 『これからの日の人口減少を四国の人口で見ると、五年に一度四国が全滅するのと同じ』 ってのパワーワードすぎて忘れない気がする。 2018-01-29 20:01:58

    数十年後に日本の人口が1億人を切るといっても実感が沸かない…→とある教授の例え方がインパクト強すぎる
  • [PDF]学術俯瞰講義「人工知能の未解決問題とディープラーニング」東京大学 松尾 豊

  • word2vec(Skip-Gram Model)の仕組みを恐らく日本一簡潔にまとめてみたつもり - これで無理なら諦めて!世界一やさしいデータ分析教室

    久しぶりの記事更新です。 今回はかねてより書いてみたかったword2vecについて。 word2vecはとても面白い考え方なのですが、個人的には仕組みがちょっと捉えづらく、理解するのに結構時間がかかりました。 そこで今回は、過去の自分を救えるように、word2vecをできるだけ簡潔に、そして直観的に理解できるように解説していきます。 なお、word2vecについては以下書籍でよくまとまっているので、よろしければ是非! Pythonと実データで遊んで学ぶ データ分析講座 作者: 梅津雄一,中野貴広出版社/メーカー: シーアンドアール研究所発売日: 2019/08/10メディア: 単行(ソフトカバー)この商品を含むブログを見る ※追記※ スマホのAMPだと、行列や数式がうまく表示されない可能性がありますので、こちらのリンクかPCから購読頂けますと幸いです。 word2vecを使うと何ができる

    word2vec(Skip-Gram Model)の仕組みを恐らく日本一簡潔にまとめてみたつもり - これで無理なら諦めて!世界一やさしいデータ分析教室
  • 畳み込みニューラルネットワークをKeras風に定義するとアーキテクチャの図をパワーポイントで保存してくれるツールを作った - Qiita

    (2018/01/05 追記)ちょうどpython-pptxを調べていたので、pptx形式で図を保存できるようにし、タイトルも修正しました。 はじめに 論文やスライドで、畳み込みニューラルネットワークのアーキテクチャを良い感じに表示したいときがありますよね?スライドだとオリジナル論文の図の引用でも良いかなという気がしますが、論文の図としては使いたくありません。 ということでKerasのSequentialモデルのような記法でモデルを定義すると、そのアーキテクチャを良い感じに図示してくれるツールを作りました。言ってしまえばテキストを出力しているだけのツールなので依存ライブラリとかもありません。 https://github.com/yu4u/convnet-drawer ここまで実装するつもりはなかったので綺麗に設計できていませんが、バグ報告や追加機能要望welcomeです! 経緯 元々は、

    畳み込みニューラルネットワークをKeras風に定義するとアーキテクチャの図をパワーポイントで保存してくれるツールを作った - Qiita
  • 畳み込みニューラルネットワークの最新研究動向 (〜2017) - Qiita

    昨年に引き続きDeep Learningやっていき Advent Calendar 2017の25日目の滑り込み記事で,畳み込みニューラルネットワークの歴史および最新の研究動向についてのサーベイです.2017年12月のPRMU研究会にて発表した,畳み込みニューラルネットワークについてのサーベイをベースに追記を行ったものになります. はじめに 畳み込みニューラルネットワーク (Convolutional Neural Networks; CNN) (以降CNN)は,主に画像認識に利用されるニューラルネットワークの一種である.CNNの原型は,生物の脳の視覚野に関する神経生理学的な知見1を元に考案されたNeocognitron2に見ることができる.Neocognitronは,特徴抽出を行なう単純型細胞に対応する畳み込み層と,位置ずれを許容する働きを持つ複雑型細胞に対応するpooling層とを交互

    畳み込みニューラルネットワークの最新研究動向 (〜2017) - Qiita
  • わかりやすい画像のdiffを求めて - Qiita

    どうも。フロントエンドエンジニアの @Quramy です。 さて、前回、1日10万枚の画像を検証するためにやったことで書いているとおり、reg-suitという画像に特化した回帰テストツールをメンテしています。 画像回帰テストという文脈において、差分の可視化方法はとても重要なファクターです。なぜなら、画像(=スナップショット)に差分が発生したからといって、それすなわち棄却、というわけではなく、その差分の内容を判断して、意図せぬ変更であれば棄却、意図した変更であればexpectedを更新する必要があります。すなわち、ワークフローに目視による差分のレビューが発生するのです。 そこで、少しだけ異なる2枚の画像について差分を効果的に可視化する、というテーマに向き合ってみました。 主にC++OpenCVでの実装ですが、これらの知識が無くとも読めるよう、コードやAPIへの言及を少なくして、中間画像で説

    わかりやすい画像のdiffを求めて - Qiita
  • 今となって後悔しているkamiのこと - Qiita

    クリスマス期間になると喜ぶ人もいれば悲しむ人もいる。そんな極端な季節の中で、自分が作ったguregu/kamiというWAFについて真面目に考えた。contextの正しい使い方や、kamiのAPIで後悔していることを晒そう。 kamiを作ったきっかけ まずはkamiの歴史について簡単に説明する。GunosyでアプリのAPIサーバーをRailsからGoに少しずつ書き直していたが、モノリシックだったmodelsとhandlersパッケージが大きくなりすぎて分かりにくくなってしまった。大きいパッケージを複数の小さなパッケージに分けようと思った。しかしユーザーのセッション情報などは様々なパッケージにどう共有したらいいでしょう? 当時使っていたGojiというWAFでは、リクエストごとにEnvというmap[string]interface{}が付いていた。 これを使えば、どんなパッケジーにHTTPハンド

    今となって後悔しているkamiのこと - Qiita