タグ

ブックマーク / www.hellocybernetics.tech (21)

  • PyTorchの周辺ライブラリ - HELLO CYBERNETICS

    PyTorch 確率的プログラミング GPyTorch Pyro BoTorch Ax Training Wrapper pytorch lightning ignite Catalyst skorch Computer Vision kaolin pytorch3d kornia PyTorch pytorch.org いわずとしれたディープラーニングフレームワークです。最近、国産のフレームワークであるChainerの開発元であるPFNが、PyTorchへの移行を示したこともあり、一層認知度が高まったように思います。すでに研究分野ではTensorFlowよりも高いシェアを誇っている状態であり、今後、プロダクション方向にも整備が行くようで更に注目しておくべきでしょう。 ディープラーニングフレームワークと言いつつ、多次元配列の計算を自在に行うことが可能な自動微分ライブラリとして活用することも

    PyTorchの周辺ライブラリ - HELLO CYBERNETICS
    Gln
    Gln 2019/12/25
  • Variational Gaussian Process と Deep Neural Netの回帰の比較 - HELLO CYBERNETICS

    はじめに 連続で滑らかな関数の近似 データ Gaussian Process ニューラルネット 不連続な関数 データ Gaussian Process ニューラルネット はじめに この記事は大したこと書いてないです。 一般論としてガウス過程は入力空間で近いデータ点は出力空間でも近い値を取るという性質を持つため、直感的にはなめらかな(非線形を含む)関数の近似が強そうだと言えます。 また、確率モデルであるためハイパーパラメータをデータから推定でき、データがあれば一先ず(最尤推定の意味で)局所的な最適解は得られるというすぐれものです。 一方でニューラルネットワークは、一般線形モデルで現れる基底関数自体を中間層(非線形関数)でパラメタライズし、最後の出力層で線形回帰を実施することができます。当然非線形な関数を近似できるだけでなく、どうやら滑らかでない(あるいは不連続な)関数の近似では従来手法よりも

    Variational Gaussian Process と Deep Neural Netの回帰の比較 - HELLO CYBERNETICS
    Gln
    Gln 2019/11/19
  • ベルマン最適方程式とベルマン期待方程式【強化学習基礎】 - HELLO CYBERNETICS

    はじめに ベルマン期待方程式 ベルマン最適方程式の復習 ベルマン期待方程式 環境というシステムを探る 知識の活用と蓄積 冒険の結果から学びを得る モデルベースとモデルフリー 最後に はじめに 強化学習の勉強では、まず間違いなく「ベルマン方程式」なる数学の壁でつまづく人が多いと思われます。 強化学習という、もともと問題がかなり複雑な設定で「ベルマン方程式」なる見た目が仰々しい式が出てくるために、数学が苦手な人はそもそも理解を諦めてしまうのではないでしょうか。 ベルマン方程式が何を意味していて、どのような成り立ちで出てくるものなのかを下記の記事で「制御問題」という出発点によって記述しました。 www.hellocybernetics.tech 上記の記事ではそれなりに納得感のある形でベルマン方程式を簡潔に導出しましたが、実際のところ、強化学習の問題設定は、最適制御問題よりも一般には複雑です。

    ベルマン最適方程式とベルマン期待方程式【強化学習基礎】 - HELLO CYBERNETICS
    Gln
    Gln 2019/10/12
  • ニューラルネットワークを用いた近年の変分推論1 - HELLO CYBERNETICS

    はじめに 変分推論 モデルの書き方 立てたモデルに対する変分近似分布 変分推論 EMアルゴリズムの発展としての変分推論 変分推論の違った見方 近似したいという動機 近似のための損失関数の分解 期待値のサンプリングによる近似 事前分布と変分近似分布のKLダイバージェンス 最後に はじめに ここではベイズ推論(データからベイズ予測分布を得る手続き)をある程度知っている前提で、ベイズ推論を具体的に実行する手立てとしての近年の変分推論について適当にまとめておきます。 ベイズ推論では観測データ $\bf X$ から未観測の潜在変数 $\bf Z $ とモデルのパラメータ $\bf w$ の事後分布 $$ p({\bf Z, w}, \mid {\bf X}) $$ を求め、新たなデータ $\bf x$ に関する統計モデル $p({\bf x}\mid {\bf Z, w})$ の期待値(すなわち、事

    ニューラルネットワークを用いた近年の変分推論1 - HELLO CYBERNETICS
    Gln
    Gln 2019/10/08
  • 強化学習に出てくるベルマン方程式を理解しよう - HELLO CYBERNETICS

    はじめに ベルマン方程式の概要 最適制御と評価関数 最適制御 評価関数 価値関数 ベルマンの最適性原理 ベルマン方程式 価値関数の離散化 状態の時間発展再訪 ベルマン方程式 まとめ 最後に はじめに 強化学習の基礎に置かれている「ベルマン方程式」について、言葉は知っているが実はちゃんと理解していないという方は意外と多いのではないかと思われます。これを知っていようが知っていまいが、正直世の中の便利なフレームワークを活用すれば強化学習を実行することは可能であるためだと推測されます。 しかし、ある種の出発点になっているはずの基礎方程式を無視して、ガチャガチャ色々試してみても、なんだかフワついたままでモヤモヤしてしまうのではないでしょうか。少なくとも自分はそうです。 なので今回はベルマン方程式を基から丁寧に解説していきたいと思います。 ベルマン方程式の概要 細かい話をする前に、ベルマン方程式がど

    強化学習に出てくるベルマン方程式を理解しよう - HELLO CYBERNETICS
    Gln
    Gln 2019/09/23
  • MLPシリーズ ベイズ深層学習 - HELLO CYBERNETICS

    はじめに 概要 深層学習に対して不確実性を導入する 深層学習をベイズ推論で理解する ベイズ推論にニューラルネットワークを導入する 中身 1.はじめに 2.ニューラルネットワークの基礎 3.ベイズ推論の基礎 4.近似ベイズ推論 5.ニューラルネットワークのベイズ推論 6.深層生成モデル 7.深層学習とガウス過程 読み方 はじめに MLPシリーズの「ベイズ深層学習」を著者:須山敦志氏よりご恵贈に預かりました。 須山さんはHatena blogにて machine-learning.hatenablog.com を長いこと書かれており、私も機械学習の勉強を開始して依頼、何度も参考にしてきました。 今回は恵贈頂いたベイズ深層学習に関して恐れ多くも書評を書いていきます。 ベイズ深層学習 (機械学習プロフェッショナルシリーズ) 作者: 須山敦志出版社/メーカー: 講談社発売日: 2019/08/08メ

    MLPシリーズ ベイズ深層学習 - HELLO CYBERNETICS
    Gln
    Gln 2019/09/01
  • 【ベイズ推定って結局何なの?Part2】 - HELLO CYBERNETICS

    はじめに ベイズ推定の概要 統計学の考え 伝統的統計学の考え ベイズの考え ベイズ統計学 ベイズ統計学の基道具 乗法定理 独立性 加法定理 ベイズの定理 ベイズでの統計パラメータの考え方 ベイズ機械学習 機械学習で行われる基的な仮定と学習 機械学習の方法論 MAP(最大事後確率)推定 変分ベイズ サンプリング ベイジアンが見ているもの モデルの仮定は正しかったのか? ハイパーパラメータ 全て確率変数から始める 最後に はじめに 思いの他反響のなかったベイズに関する以下の記事に続き、性懲りもなくベイズの話をします。(ディープラーニングみたいに爆発的な流行は無いけど、ベイズは今後絶対注目度が高まるよ!!) s0sem0y.hatenablog.com ベイズ推定の概要 前回はベイズがどういう考えをしていて、結果的にどういうことをしていることになるのかという話を(不正確な点も含みながら)説明

    【ベイズ推定って結局何なの?Part2】 - HELLO CYBERNETICS
    Gln
    Gln 2019/08/31
  • 強化学習の基本:マルコフ決定過程ってなんぞ? - HELLO CYBERNETICS

    はじめに 環境とエージェント 環境 マルコフ過程 当のマルコフ過程 マルコフ決定過程 当のマルコフ決定過程 強化学習の話をちょっとだけ 最後に はじめに 強化学習を真面目に勉強し始めたので、ここまで学んだ知見を記事としてまとめます。 線形代数の基的な表記や確率統計で出てくる基的な言葉を前提とし、理論的な証明などは割愛し結果だけを認める形で進めていきたいと思います。 環境とエージェント まず最初に強化学習で現れる「環境とエージェントの相互作用」なるもの言葉について、実を言うと、目の前にある課題は環境とエージェントの相互作用というのは必ずしも必要がないかもしれません(そうであれば強化学習という手段を行使しないということ…)。 強化学習を学び始めるとどうしてもこの相互作用なるものが前提で話が進んでしまうため、若干の分かりにくさが生まれてしまうように思います。ここでは思い切って、「環境」と

    強化学習の基本:マルコフ決定過程ってなんぞ? - HELLO CYBERNETICS
    Gln
    Gln 2019/06/26
  • ガウシアンプロセスを使ってみたい人への最低限の知識 - HELLO CYBERNETICS

    はじめに ガウス過程の構成要素 パラメータの周辺化消去 カーネル関数 ガウス過程 ガウス過程回帰 ガウス過程分類 最後に はじめに 下記の記事の通り、非常に良いガウス過程の日語書籍が出版されました。その気になればガウス過程を誰でも勉強できるようになったという素晴らしい状態です。 www.hellocybernetics.tech 今回は勉強フェーズは上記の書籍に完全に任せるとして、使うという立場でガウス過程を見ていきましょう。 ガウス過程の構成要素 ガウス過程は一般線形モデル $y = {\bf w \cdot \phi(x)}$ に対してカーネル法とパラメータ $\bf w$ に事前分布を設けて周辺化消去を駆使した高度なモデルになっています。ガウス過程を利用する場合には、パラメータの周辺化消去は数式上で実施されているため特に意識することはありません。 $\bf w$ が式から消えた後は

    ガウシアンプロセスを使ってみたい人への最低限の知識 - HELLO CYBERNETICS
    Gln
    Gln 2019/05/22
  • 【書籍紹介】ガウス過程と機械学習 - HELLO CYBERNETICS

    はじめに 目次とコメント 0章 たった5分でガウス過程が分かってしまう 1章 線形回帰モデル 2章 ガウス分布 3章 ガウス過程 4章 確率的生成モデルとガウス過程 5章 ガウス過程の計算法 6章 ガウス過程の適用 7章 ガウス過程による教師なし学習 ガウス過程のライブラリ GPy GPyTorch GPflow はじめに 既に機械学習界隈の中で気になった方は手に取っているであろう「MLP ガウス過程と機械学習」の紹介です。 ガウス過程と機械学習 (機械学習プロフェッショナルシリーズ) 作者: 持橋大地,大羽成征出版社/メーカー: 講談社発売日: 2019/03/09メディア: 単行(ソフトカバー)この商品を含むブログを見る ガウス過程と言えば、「ベイズ」や「カーネル法」、「確率過程」など、難しそうな言葉のオンパレードで、どうも機械学習を学びたての人にとっては敬遠しがちなものである印象が

    【書籍紹介】ガウス過程と機械学習 - HELLO CYBERNETICS
    Gln
    Gln 2019/03/26
  • Deep Learning勉強のための書籍【2018年版】 - HELLO CYBERNETICS

    はじめに 初級編 ゼロから作るDeep Learning 中級編 scikit-learnとTensorFlowによる実践機械学習 PythonとKerasによるディープラーニング 上級編 Pro Deep Learning with TensorFlow Deep Learning はじめに ディープラーニングに関する書籍は山ほど出てきています。 その中でどれを読めば良いのか分からない、というのは初心者にとって最初の問題でもあるでしょう。まずはブログなどのネットの情報を参考に勉強をする人が多いかと思われますが、私のブログも含め、大抵は個人の興味に沿ってバラバラに話題が提供されるため、できれば1つ1つ順を追って解説してくれる物が欲しいと感じるのが音と思われます。 今回は、数ある書籍の中でも私自身が所持していておすすめできるディープラーニングの書籍を載せたいと思います。 初級編 ゼロから作

    Deep Learning勉強のための書籍【2018年版】 - HELLO CYBERNETICS
    Gln
    Gln 2019/02/02
  • 変分ベイズ法の心 - HELLO CYBERNETICS

    ベイズ推論の基 変分ベイズ学習 変分法の心 変分ベイズ法の戦略 ベイズ推論の基 ベイズモデリングの概要については下記の記事を参考にしてください。 www.hellocybernetics.tech 概要をさらっとなぞると、ベイズ推論の基的な話としては、観測データ $x$ の真の確率分布 $\hat p(x)$ を知る由もないので、確率モデル $p(x | \theta)$ でモデル化し、更にパラメータ $\theta$ にも事前分布 $p(\theta)$ を仮定します。 $$ p(x, \theta) = p(x | \theta)p(\theta) = p(\theta | x) p(x) $$ という確率分布に対していつでも成り立っている乗法定理から、 $$ p(\theta | x) = \frac{p(x|\theta)p(\theta)}{p(x)} $$ とできます。そ

    変分ベイズ法の心 - HELLO CYBERNETICS
    Gln
    Gln 2019/01/12
  • TensorFlow2.0 Preview版が出ました! - HELLO CYBERNETICS

    TensorFlow 2.0発表! コード周辺の変更 tutorial TensorFlow 2.0発表! ついに動きがありましたね。APIは下記で見ることが出来ます。名前空間がスッキリしていることに気づくはずです。 www.tensorflow.org v1.12.0からv2.0へコードを書き換えるためのツールも整備されていく模様です。 tensorflow/tensorflow/tools/compatibility at master · tensorflow/tensorflow · GitHub また、2.0の発表して間もなく、githubにはチュートリアルのリポジトリが出現しました。さすがは注目度が高いですね。 github.com コード周辺の変更 さて、TensorFlow2.0でどのように書き方が変わったのかというと、以前からお伝えしてきたとおり、Eagerをデフォルトと

    TensorFlow2.0 Preview版が出ました! - HELLO CYBERNETICS
    Gln
    Gln 2019/01/12
  • 識別関数、識別モデル、生成モデルの違いを解説 - HELLO CYBERNETICS

    はじめに 記事の目的:共通の認識を持てるようにするため なぜパターン認識と機械学習を引用するか 機械学習の目的 分類問題と回帰問題 分類問題について 「識別関数」、「識別モデル」、「生成モデル」 識別関数 識別モデル 生成モデル 生成モデルのメリットデメリット はじめに 記事の目的:共通の認識を持てるようにするため 機械学習が大流行している中で、言葉の定義が曖昧になってきている印象があります。新しい分野が流行すれば、様々なところで言葉が使われ、結果として複数の意味で使われるようになり曖昧になってしまうのは必然です。実際私の周りでも、「ん、どういう意味で使っているんだ?」と思うケースがたまにあります。 ハッキリ言って言葉の意味などは使いやすいように変更されても構わないと思いますし、人間の使い方の統計によって定められていると言っても過言ではないです。 しかし、それでもどの言葉が何を意味している

    識別関数、識別モデル、生成モデルの違いを解説 - HELLO CYBERNETICS
    Gln
    Gln 2018/12/24
  • 【TensorFlow Probability】edward2 モジュールの使い方 MCMCまで【更新】 - HELLO CYBERNETICS

    はじめに 概要 コードの前提 Edward2 肝は tfp.edward2.RandomVariableクラス ベイズロジスティック回帰 ロジスティック回帰を書く 事後分布を書く 事前分布のセッティング 対数尤度 MCMCの実行 事後分布を見る 最後に はじめに 概要 現在開発が急ピッチで進んできている(ように私には見える)、TensorFlow Probabilityですが、 PyroやStanなどの先発組に比べて明らかに遅れを取っているように見えます。 このことに関して「ネット上に良いサンプルコードが見当たらない」ということと「ドキュメントを読んでもどのAPIを使えば良いか分からない」ということが大きな原因かなと思います。 特にtfp.distributionsとtfp.edward2の差異は明確ではなく、どっちをどのように使うのか…というのはかなりわかりづらいところです。 結論を述べ

    【TensorFlow Probability】edward2 モジュールの使い方 MCMCまで【更新】 - HELLO CYBERNETICS
    Gln
    Gln 2018/11/10
  • 確率的プログラミング言語 TensorFlow Probability【高レベルAPI、`tfp.glm`の紹介】 - HELLO CYBERNETICS

    はじめに APIの全体像 Layer 0 : TensorFlow Layer 1 : Statistical Building Blocks Layer 2 : Model Building Layer 3 : Inference techniques Layer 4 : Pre-built models + inference 高レベルAPItfp.glmの紹介 提供されている一般化線形モデル(GLM) ●class Bernoulli ●class BernoulliNormalCDF ●class Poisson ●class PoissonSoftplus ●class Normal ●class NormalReciprocal ●class LogNormal ●class LogNormalSoftplus ●class GammaExp ●class GammaSoftp

    確率的プログラミング言語 TensorFlow Probability【高レベルAPI、`tfp.glm`の紹介】 - HELLO CYBERNETICS
    Gln
    Gln 2018/10/31
  • 大幅に進化するらしいTensorFlow2.0について - HELLO CYBERNETICS

    はじめに TensorFlow2.0がもうすぐ来るよ! APIs High level APIs Eager Exexution Reference Models Contribの扱い プラットフォーム TensorFlow Lite TensorFlow.js TensorFlow with Swift パフォーマンス Distributed TensorFlow CPUGPU、TPUの最適化関連 その他のパッケージ TensorFlow Probability Tensor2Tensor End to End ML systems TensorFlow Hub TensorFlow Extended はじめに TensorFlow2.0ではこれまでのTensorFlowから大幅に変化するので、その変更点について記しておきます。 基的には公式のRoadmapの和訳と思って差し支えあり

    大幅に進化するらしいTensorFlow2.0について - HELLO CYBERNETICS
    Gln
    Gln 2018/09/20
  • 【クラスタリングの新トレンド?】DeepClusterとその発展の考察 - HELLO CYBERNETICS

    はじめに クラスタリング 概要 K-means K-meansの改良 DeepClusterの基的アイデア 考察と今後の展開 一提案 はじめに 私は普段、Twitterを大いに活用して情報収集をしております。今回の記事のタイトルにある「DeepCluster」はtwitterのTLで流れてきた以下のarxivで提案されたクラスタリング手法です。 [1807.05520] Deep Clustering for Unsupervised Learning of Visual Features 今回はこの手法の基的な着眼点と、今後の発展について素人ながら考察してみます。 クラスタリング 概要 まずクラスタリングというものが、一体どんな問題設定であるのかをしっかりと認識しておきましょう。多次元のデータ$D = \{\mathbf x_1,...,\mathbf x_N \}$が手元にあるとし

    【クラスタリングの新トレンド?】DeepClusterとその発展の考察 - HELLO CYBERNETICS
    Gln
    Gln 2018/07/23
  • TensorFlowのeagerモードをちょっとだけ触った - HELLO CYBERNETICS

    はじめに 題 ネットワークの書き方 学習に備えてドロップアウトの実行を制御(失敗例 (成功例? はじめに まだまだeagerモードについて私自身理解できていません。 とりあえず実行結果から使い方を少しだけ考えてみます。 ここでは以下の記事 s0sem0y.hatenablog.com と被る内容は触れないので、基事項は確認しておいてください。 今回触れるのはネットワークの書き方とドロップアウトに関する内容です。 題 ネットワークの書き方 書き方としては以下のような形になります。 class Net(tfe.Network): def __init__(self): super(Net, self).__init__() self.conv1 = self.track_layer(tf.layers.Conv2D(10, 5)) self.conv2 = self.track_laye

    TensorFlowのeagerモードをちょっとだけ触った - HELLO CYBERNETICS
    Gln
    Gln 2018/05/28
  • 【いつの間にか進化してた!】TensorFlowのKerasの様々な使い方 - HELLO CYBERNETICS

    はじめに これまで通りの使い方 Kerasと言えばコレ:Sequential 少し発展版:Modelによるfunctional API Eagerの登場によって…! Pythonのclassとしての作り方 Eagerモードとしての書き方 確率的なニューラルネットワーク はじめに 最近機械学習から離れ気味ですが、何やらTensorFlowのDocumentを覗いたらTensorFlow内部のKerasがすごくいろいろな使い方できることに気が付きました。 (ちなみに、TensorFlowとは別の(いろいろなフレームワークをバックエンドにできる)Kerasの方はどうなっているのか知らないので申し訳ありません。) ということでそれを簡単にまとめておきたいと思います。当に簡単に。 これまで通りの使い方 Kerasと言えばコレ:Sequential 最もよく知られている使い方ですね。 model=t

    【いつの間にか進化してた!】TensorFlowのKerasの様々な使い方 - HELLO CYBERNETICS
    Gln
    Gln 2018/05/28