ジョイジョイジョイ

ジョイジョイジョイジョイジョイ

ミラーラビン素数判定法とロー法

ミラーラビン素数判定法について ミラーラビン素数判定法はフェルマーテストを拡張した感じです。 フェルマーテストでは が素数のとき、フェルマーの小定理より と が互いに素なとき となることを利用して、 と互いに素な整数 を取って であれば合成数と判断…

クリーネの不動点定理(とベルマンフォード法)

言語処理系で講義でクリーネの不動点定理をやった時にベルマンフォードの証明にも使えるなぁと思ったので紹介します。 クリーネの不動点定理 を完備半順序集合とし、 をその上のスコット連続写像とする。このとき、 は最小不動点を持つ。 ここで、完備半順序…

HashedNets

HashedNets [1] を chainer で実装しました。 HashedNets の説明 ニューラルネットワークのパラメータ数は非常に多く、パラメータは冗長な表現になっていることが多いです。 そこで、自由なパラメータの数を減らして、正則化と軽量化を達成するための手法の…

本質的に曖昧な文脈自由言語

本質的に曖昧な文脈自由言語が存在するという事実は色んなところで何度も目にしてきたのですが、証明を見たことが無かったのでここで紹介します。 流れは大体 [1] と同じですが、補題の証明はオリジナルも混ざってます(本質的には同じだとは思います)(間…

Adam

Adam [1] を chainer で実装しました。 Adam の説明 少ない時間・空間計算量で高い性能を出すということで、深層学習の分野で最近よく使われている最適化手法です。 をパラメータに取る関数 の(期待値)最小化を考えます。 の に対する勾配を とします。 一…

大学のソフトウェア実験用のプログラム自動生成

大学のソフトウェア実験でMLのインタプリタを作っているのですが、テスト用にMLプログラムの自動生成プログラムを書きました。 generator.sh は一部 @basemusi 君に書いてもらってます。 github.com 型推論器のデバッグ用に作ったのでこの名前ですが、インタ…

Dilated Convolution

Dilated Convolution を chainer で実装しました。 Dilated Convolution の説明 Dilated Convolution は、フィルターとの積を取る相手の間隔をあける畳み込みのことです。 例えば、以下のような画像において、 12 を中心に 3 x 3 の普通の畳み込みフィルター…