2020-01-01から1年間の記事一覧

BERT・XLNet に学ぶ、言語処理における事前学習|電子テキスト紹介 #7

当ブログの内容を元に電子テキストやその印刷版を、技術書典やnoteやboothなどのプラットフォームで販売を行なっているのですが、あまり内容について紹介してこなかったのでちょっとした宣伝も兼ねてご紹介していくシリーズです。#3では「Deep Q-Network を…

DTPなどの概要の調査|版組みの達人を目指す #1

DTP

ブログの内容はどうしても発散しがちなので、定期的にブログの内容を元に再編したテキストの公開を行っています。が、テキストも数を出すうちにどうしても細かいレイアウトが気になってきたので、版組みを極めようじゃないかということで新規シリーズを作成…

Pythonを用いた誤差逆伝播(Backpropagation)の実装|微分をプログラミングする #4

当シリーズでは、近年の深層学習の発展に関連するトレンド的に微分のプログラミングの重要度は増していると思われるので、関連文脈の取りまとめを行なっています。#1、#2、#3では自動微分の概要やSurvey論文の参照や誤差逆伝播と自動微分の関係性の確認を行…

誤差逆伝播(Backpropagation)と自動微分|微分をプログラミングする #3

当シリーズでは、近年の深層学習の発展に関連するトレンド的に微分のプログラミングの重要度は増していると思われるので、関連文脈の取りまとめを行なっています。#1、#2では自動微分の概要やSurvey論文の参照を行いました。 #2の"Reverse mode AD"で誤差逆…

メトロポリスヘイスティングス法における詳細釣り合い条件について|平衡(equilibrium)について理解する #2

当シリーズは確率過程や化学反応など、様々な場面で出てくる平衡(equilibrium)について理解することを目的とし、作成しています。初回の#1では比較的取り扱いやすいと思われた化学平衡(Chemical equilibrium)について取り扱いました。 #2ではメトロポリスヘ…

線形回帰処理のパフォーマンス比較②(勾配法による数値解)|Pythonにおける処理高速化をラフに考える #6

このシリーズではPythonの処理高速化についてラフに取り扱っています。#5では単回帰分析の解析解の計算にあたってのパフォーマンス比較を行いました。 #6では単回帰分析の勾配法を用いた数値解のパフォーマンス比較を行います。以下、目次になります。1. 問…

自動微分(Automatic differentiation)のSurvey論文の参照|微分をプログラミングする #2

当シリーズでは、近年の深層学習の発展に関連するトレンド的に微分のプログラミングの重要度は増していると思われるので、関連文脈の取りまとめを行なっています。#1では誤差逆伝播などにも用いられている「自動微分(Automatic differentiation)」の概要につ…

化学平衡と詳細釣り合い条件について|平衡(equilibrium)について理解する #1

MCMCを用いたサンプリング関連の手法を確認していると、メトロポリスヘイスティングスやハミルトニアンモンテカルロ法のように詳細釣り合い(detailed balance)条件の話題が出てくることがあります。「過程と逆過程の頻度が等しい」ことが詳細釣り合い条件で…

線形回帰処理のパフォーマンス比較①(解析解)|Pythonにおける処理高速化をラフに考える #5

このシリーズではPythonの処理高速化についてラフに取り扱っています。#4ではリストの生成と内包表記について取り扱いました。 #5では単回帰分析の解析解を求める処理について、scikit-learnなどを中心にパフォーマンス比較を行いたいと思います。以下、目次…

自動微分(Automatic differentiation)の概要|微分をプログラミングする #1

近年の深層学習(DeepLearning)の発展により、プログラミングにおける微分の取り扱いは重要度を増しています。基本的な意味での微分のプログラミング的取り扱いとしてイメージとして挙がりやすいのは、微分した数式を用いる「数式微分(Symbolic differentiati…

リストの生成と内包表記|Pythonにおける処理高速化をラフに考える #4

このシリーズではPythonの処理高速化についてラフに取り扱っています。#3ではPandasとmapについて取り扱いました。 #4ではリストの生成と内包表記について取り扱います。以下、目次になります。1. 内包表記の構文とパフォーマンスの比較2. timeitを用いた統…

ハミルトニアンとエネルギー保存則|オムニバス形式で確認する解析力学 #1

時折、解析力学的な話題が上がってくるので、必要に応じてまとめておければということで、オムニバス形式で解析力学について確認していきます。#1では近年Hamiltonian Monte Carlo法としてMCMCサンプリングで用いられる、ハミルトニアンについて、解析力学の…

Pandasとmap|Pythonにおける処理高速化をラフに考える #3

このシリーズではPythonの処理高速化についてラフに取り扱っています。#2ではmapと繰り返し文(for)について簡単に取り扱いました。 #3ではPandasとmapについて取り扱います。以下、目次になります。1. mapを用いたPandasのカラムの置換2. map、lambdaを用い…

mapと繰り返し文|Pythonにおける処理高速化をラフに考える #2

このシリーズではPythonの処理高速化についてラフに取り扱っています。#1では「%%time」を用いたパフォーマンス測定と、NumPyを用いた簡単な高速化について確認しました。 #2ではmapと繰り返し文(for)について簡単に取り扱います。以下、目次になります。1. …

Liberal Artsに基づく21世紀型民主主義の実現にあたって|Liberal Artsを考える #2

21世紀は非常に難しい時代です。これまでの人類の歴史は発展の歴史として見ることもできますが、18〜19世紀の産業革命から20世紀を通して「需要」と「供給」の力関係が変わったというのが考察の難しいポイントだと思います。「需要」が大きく「供給」があれ…

教養(Liberal Arts)の意義とエリートの役割について|Liberal Artsを考える #1

現代社会では「スキルアップの必要性」があちこちで主張されるのをよく目にします。が、そのうちの多くは「インスタント食品やサプリメントを食べて、健康になりましょう」のような内容を表面上だけ変えての内容であることもあり、それらについての反論など…

パフォーマンス測定とNumPyを用いた簡単な高速化|Pythonにおける処理高速化をラフに考える #1

基本的にプログラミングは動けば良い派で可読性の高さを優先することが多いですが、処理の高速化が必要な際もあるので、Pythonを用いた処理高速化について考える新規シリーズを作成いたしました。最初から難しく考えると大変なので、しばらくは緩めに進め、…

周辺正規分布(Marginal Gaussian distributions)|改めて理解する多次元正規分布 #3

当シリーズは多次元正規分布を改めて理解しようということで進めています。下記などを主に参照しています。 Pattern Recognition and Machine Learning | Christopher Bishop | Springer 上記テキストのSection2-3の"The Gaussian Distribution"を中心に関連…

条件付き正規分布(Conditional Gaussian distributions)|改めて理解する多次元正規分布 #2

当シリーズは多次元正規分布を改めて理解しようということで進めています。下記などを主に参照しています。 Pattern Recognition and Machine Learning | Christopher Bishop | Springer 上記テキストのSection2-3の"The Gaussian Distribution"を中心に関連…

マハラノビス距離(Mahalanobis distance)と多次元正規分布|改めて理解する多次元正規分布 #1

正規分布は様々なモデリングで前提として使用する、基本かつ非常に便利な分布ですが、1次元だと比較的シンプルに取り扱うことができますが、多次元正規分布となると様々なトピックが出てきて少し難しそうな印象を受けます。とはいえ、多次元正規分布関連の導…

変分推論の概要と簡単な実装例|Python実装で理解する変分推論(VariationalInference) #5

当シリーズはPython実装を通して変分推論を理解していこうということで進めています。下記などを主に参照しています。 Pattern Recognition and Machine Learning | Christopher Bishop | Springer#3、#4ではEMアルゴリズムについて確認しました。 基本的な…

現代社会における奴隷の作り方

昨今の「コロナ関連の無利子無担保融資」について、あまり政策としては意味がないのではないかと思っていたのですが、何かに似ているなと思ったら「奨学金」に近いのではと思い至り、少し納得しました。この両者に共通するのは、「見通しがはっきりしない状…

対数尤度における指数型分布族を考える|Python実装で理解する変分推論(VariationalInference) #Appendix2

#3、#4ではEMアルゴリズムについて取り扱いましたが、例として出てくる正規分布などを一般化した分布である指数型分布族についてもう少し考えておくと良いと思われたため、Appendix2としてまとめます。以下、目次になります。1. EMアルゴリズムにおける指数…

EMアルゴリズムの論理構成の全体像|Python実装で理解する変分推論(VariationalInference) #4

当シリーズはPython実装を通して変分推論を理解していこうということで進めています。下記などを主に参照しています。 Pattern Recognition and Machine Learning | Christopher Bishop | Springer #3では変分推論の枠組みにおけるEMアルゴリズムを混合正規…

変分推論の枠組みにおけるEMアルゴリズム|Python実装で理解する変分推論(VariationalInference) #3

当シリーズはPython実装を通して変分推論を理解していこうということで進めています。下記などを主に参照しています。 Pattern Recognition and Machine Learning | Christopher Bishop | Springer #1、#2ではKLダイバージェンスやイェンセンの不等式につい…

ベクトル的取り扱いによるイェンセンの不等式の図的理解|Python実装で理解する変分推論(VariationalInference) #Appendix1

#2ではイェンセンの不等式とKLダイバージェンスの非負性について取り扱いましたが、少し考察が定性的になりましたので、もう少しイェンセンの不等式ベースでわかりやすくしようということで、Appendixを設けました。3つ以上のやに対する取り扱いのイメージが…

イェンセンの不等式とKLダイバージェンスの非負性|Python実装で理解する変分推論(VariationalInference) #2

当シリーズはPython実装を通して変分推論を理解していこうということで進めています。下記などを主に参照しています。 Pattern Recognition and Machine Learning | Christopher Bishop | Springer #1では変分推論の議論の中心となってくるKLダイバージェン…

KLダイバージェンスの数式とPython実装|Python実装で理解する変分推論(VariationalInference) #1

確率的変分推論(SVI; Stochastic Variational Inference)の論文について確認していたのですが、ベースの理解についてもう少し固める方が良さそうだったので、Python実装を通して変分推論を理解していくシリーズを新たに作成することにしました。シリーズを通…

リベラルの「新自由主義」・「格差社会」批判が支持を得られない理由|マクロ経済を考える #3

昨今、「新自由主義」・「格差社会」への批判が話題になります。実体経済のデフレと金融商材のバブルが同時に起きているところや、それに伴い「格差」や「貧困」の問題が生じていると言われています。いわゆる「リベラル」層はこれにあたって「新自由主義」…

Abstract&Introduction|NUTS(No-U-Turn Sampler)の論文を読む #1

PyMC3などを用いたMCMCベースの手法は所々で利用されていますが、PyMC3ではNUTS(No-U-Turn Sampler)などが元になっています。NUTSはMetropolis法の発展であるHMC(Hamiltonian Monte Carlo)の拡張として導入されています。当シリーズではNUTSに関する2011年の…