タグ

ブックマーク / naoyat.hatenablog.jp (23)

  • DL4US (Deep Learning for all of us) 修了 - naoya_t@hatenablog

    東大松尾研監修のディープラーニングのオンライン講座 DL4US を受講し、無事修了しました。 内容の大部分は書籍やCourseraの講義、普段の業務などで既知のものでしたが、知識を更新しながらコードに落として確認していく作業は有益でした*1。最後の辺り、GANやVAE、深層強化学習の辺りは概念的には知っていましたが実際にコードを書いてみるのは初めてで楽しかったです。最終レポートの提出期限は2回延長されたのですがその締切時刻に間に合わず日が変わってからの投稿になってしまいましたがacceptして頂けました。(ありがとうございます) 応募、オンラインテスト、抽選 12/30の締め切り直前に(割と軽い気持ちで)応募しました。 想定を大幅に上回る?1900人からの応募があったとのことでした。抽選で落ちた皆さんの声をtwitterで大量に目にする中、運良く抽選に通り受講することになりました。 先日募

    DL4US (Deep Learning for all of us) 修了 - naoya_t@hatenablog
  • GCCのバグ?未定義動作?g++とclang++で違う結果になるコード - naoya_t@hatenablog

    こないだAtCoderの過去問を解いてて ローカルでは正解が出ているのにサーバ上でREが出まくってはまったのでメモ。 再現できる形で変形&単純化を繰り返した結果がこんな感じ #include <vector> #include <cstdio> std::vector<int> a, b; int f() { a.push_back(-1); b.push_back(-1); return (int)a.size(); } int main() { int first = f(); printf("a[0]=%d, b[0]=%d\n", a[0], b[0]); a[0] = f(); printf("a[0]=%d, b[0]=%d\n", a[0], b[0]); return 0; }・グローバルに vector<int> a, b がある。それぞれの中身は最初は空(だと思う)。

    GCCのバグ?未定義動作?g++とclang++で違う結果になるコード - naoya_t@hatenablog
    nfunato
    nfunato 2017/10/21
  • deeplearning.ai受講メモ (2/24更新) - naoya_t@hatenablog

    【追記】2/19全講座修了しました! https://www.deeplearning.ai/ Andrew Ng先生のディープラーニング専門講座 deeplearning.ai を受講したメモ。久々のCoursera! Neural Networks and Deep Learning Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization Structuring Machine Learning Projects Convolutional Neural Networks Sequence Models Courseraの中でもこの講義は Specialization という枠組みで、基有料(月$49.00;講義ビデオを視聴するだけで課題なしCertificateなし

    deeplearning.ai受講メモ (2/24更新) - naoya_t@hatenablog
  • 高速かつ省メモリなGoogleの正規表現ライブラリ re2 についてのメモ - naoya_t@hatenablog

    高速かつ省メモリなGoogleの正規表現ライブラリ re2 についてのメモ。 RE2は、PCRE や PerlPython で使われているようなバックトラッキング正規表現エンジンの代替となる、高速で、安全で、スレッド・フレンドリーなC++ライブラリです。 バックトラッキング・エンジンは一般に機能や便利なシンタックスシュガーが満載ですが、小さな入力に対してさえも指数関数的に時間がかかる羽目に陥ることがあります。RE2はオートマトン理論を用い、正規表現検索が入力のサイズに対し線形の時間内に走ることを保証しています。 検索を固定量のメモリに制約できるように、RE2はメモリ制限を実装しています。 どのような入力もしくは正規表現を処理しなくてはならないとしても、小さな固定のC++スタック量のみ使用するようRE2は設計されています。そのため、RE2はスレッドスタックを任意に拡げられないマルチスレ

    高速かつ省メモリなGoogleの正規表現ライブラリ re2 についてのメモ - naoya_t@hatenablog
  • Facebook Hacker Cup 2016 : Round 1 - naoya_t@hatenablog

    Qiitaにはいくつか記事を書いていますが、はてなでは1年以上ぶりです。 普段はPythonばかり書いています。最近はtheanoが気に入っています。あとclickと。 かよちん生誕祭に開催されたFacebook Hacker CupのR1でなぜか全完できたので、たまには記事を書こうという気になりました。 Round 1 : 1/17 3am JST〜1/18 3am JST(24時間) Facebook Hacker Cup 2016 Round 1 全部で4問 (15,20,25,40)。30点以上獲得すれば通過。 D以外だと2問取らないと30点にならないように出来てる。これはハードかも。 D. Boomerang Tournament (40 points) 夜中に起きたら始まってたので、とりあえず問題を4つとも読んでからお風呂でリラックス。 最後に読んだDを考え始めてて、途中まで実

    Facebook Hacker Cup 2016 : Round 1 - naoya_t@hatenablog
  • Project EulerにGaucheで挑戦する話 - naoya_t@hatenablog

    (この投稿はLisp Advent Calendar 2012の19日目の記事「Project EulerにGaucheで挑戦する話」の転載です) Lisp Advent Calendar 19日目担当の @naoya_t です。 「昨晩@g000001さんと回転寿司屋でLispについて話した」(※実話)とかでもいいんですが、予告通りProject Eulerの話を書こうと思います。 ちょっと投稿が遅くなりましたが、インド標準時(UTC+05:30;日時間より3時間半遅れています)でぎりぎり19日ということでお許しください。 はじめに 記事では、特定の問題の解答や、それを導くプログラムはProject Eulerの参加規約に抵触するため掲載しません。 Project Eulerとは http://projecteuler.net/ 偉大な数学者レオンハルト・オイラーの名を冠する`Pro

    Project EulerにGaucheで挑戦する話 - naoya_t@hatenablog
  • PRML §8.3.3 例:画像のノイズ除去 - naoya_t@hatenablog

    【次回復々習レーン(2013/7/21開催予定)の発表資料準備】 反復条件付きモード(ICM)での画像復元 左上から順番に走査しながら、反転するとエネルギーを減らせるピクセルを反転 走査前後のエネルギー差分がεを下回ったら(あるいは10回やったら)終了 MacBook Air (1.8 GHz Intel Core i7) でノイズ除去にかかった時間: noise iter sec 5% 5 0.850 10% 6 1.037 15% 6 1.029 20% 8 1.374 25% 10 1.705 30% 8 1.373 320x180の画像をPythonで1秒前後で処理できています。 25%で走査数が多いのは気にしない(ノイズ生成パターンをいくつも作ったら吸収されると思う) オリジナル画像(白黒2値) ノイズ(白黒反転)5% 復元率:99.5781% (文字部分復元率: 97.0245

    PRML §8.3.3 例:画像のノイズ除去 - naoya_t@hatenablog
  • Google Code Jam 2014 - Round 1C - naoya_t@hatenablog

    nfunato
    nfunato 2014/05/11
  • 私訳「暫定的 NumPy チュートリアル」 - naoya_t@hatenablog

    # 原文:http://www.scipy.org/Tentative_NumPy_Tutorial このチュートリアルを読む前に、Pythonについてちょっとは知っているべきだ。記憶をリフレッシュしたいと思うなら、Pythonチュートリアルを見てくるがいい。 このチュートリアルに出てくる例を試したいなら、あなたのPCに少なくとも Python NumPy はインストールされているべきで、他に入ってると便利なのは: ipython は拡張されたインタラクティブなPythonシェルで、NumPyの機能を探検するのにとても便利 matplotlib があると図表の描画が可能になる SciPy はNumPyの上で動く科学計算ルーチンを沢山用意してくれる 基礎 NumPy の主要なオブジェクトは、同じ型(普通は数)の要素のみから成り、正の整数のタプルで添字付けされた、均質なテーブル(というか多次元

    私訳「暫定的 NumPy チュートリアル」 - naoya_t@hatenablog
  • Deep-learningはラテン語の動詞活用を学習できるか? Can deep-learning learn latin conjugation? - naoya_t@hatenablog

    ラテン語ネタが続きますが 工藤さんがぐぐたすで紹介してた word2vec が面白そうだったので。 https://code.google.com/p/word2vec/ で少し遊んでみた。いわゆる deep learning で 単語のベクトル表現を学習してくれる。 面白いのは、2つのベクトルの差が、2つの単語の関係をよく近似してくれること。 It was recently shown that the word vectors capture many linguistic regularities, for example vector operations vector('Paris') - vector('France') + vector('Italy') results in a vector that is very close to vector('Rome'), and

    Deep-learningはラテン語の動詞活用を学習できるか? Can deep-learning learn latin conjugation? - naoya_t@hatenablog
  • ラテン語コーパスからのトピック抽出 - Topic extraction from latin corpus using LDA modelling - naoya_t@hatenablog

    折角DSIRNLPに来たので、NLPっぽいことをして遊んでみた話。ネタです。 コードは https://github.com/naoyat/latin にあります。lda_demo.py というやつです。 gensim便利です。PythonからLDAとかLSIとか割と高速にやってくれるトピックモデリングライブラリです。 http://radimrehurek.com/gensim/ ↑チュートリアルが分かりやすくてためになるのでぜひご一読を! from gensim import corpora, models, similarities 元テキスト 初級ラテン語リーディングで読んだラテン語テキストをコーパスにしましょう text = latin.textutil.load_text_from_file('latin.txt') print text Thēseus et Ariadnē.

    ラテン語コーパスからのトピック抽出 - Topic extraction from latin corpus using LDA modelling - naoya_t@hatenablog
  • ショートコーディング「世界を革命する力を」 - naoya_t@hatenablog

    ふとしたツイートからコードゴルフ大会が勃発 もくし くしも しもく くもし もしく しくも という6行(UTF-8を想定)を出力するCプログラムって最短何バイトまで縮められるだろうか— naoya t (@naoya_t) 2013, 7月 2 元ネタはご存知「少女革命ウテナ」の挿入歌「絶対運命黙示録」の歌詞。 少女革命ウテナDVD-BOX 上巻 (初回限定生産)posted with amazlet at 13.07.04キングレコード (2008-09-26) 売り上げランキング: 26,534 Amazon.co.jpで詳細を見る 少女革命ウテナDVD-BOX 下巻【初回限定生産】posted with amazlet at 13.07.04キングレコード (2009-03-11) 売り上げランキング: 26,400 Amazon.co.jpで詳細を見る @naoya_t CodeI

    ショートコーディング「世界を革命する力を」 - naoya_t@hatenablog
    nfunato
    nfunato 2013/07/04
  • SRM撃墜大好きっ子に贈る:二分探索問題の撃墜 〜慎重に撃墜ケースを検討すべき一例〜 - naoya_t@hatenablog

    SRM582 Easy(250) "SpaceWarDiv1" 問題意訳 魔法少女(複数)と敵(複数)がいる。 魔法少女は自分と同等以下の敵を倒せるが、1人倒すたびにソウルジェムが濁っていく。 敵は全て倒したいが、ソウルジェムの濁りが特定の少女に集中し魔女化してしまうのを避けるため、戦闘回数を分散したい。 最大限にうまくやったとき、ソウルジェムの濁りはどこまで抑えられるか。 ※雰囲気はそんな感じだけど正確なところは原文でちゃんと読んでください。writerは準急さん(semiexp)です。 入力 {魔法少女の強さ}, {敵の強さ}, {それぞれの強さの敵が何人いるか} 出力 一番多く敵を倒した魔法少女のソウルジェムの濁り 解き方 二分探索でどうよ submitしたWAコード (要ログイン) 二分探索が間違っている事に気づいたのに(あれ、これでも通るんだーとか思っちゃって)再提出せず #in

    SRM撃墜大好きっ子に贈る:二分探索問題の撃墜 〜慎重に撃墜ケースを検討すべき一例〜 - naoya_t@hatenablog
  • カーネル法とガウス過程(PRML下巻 第6章) - naoya_t@hatenablog

    「ガウス過程」- PRML §6.4 3年前、レーンでこの辺りを読んだ頃には線形代数力が弱すぎて、というか行列式と式展開から何もイメージがつかめなくて、皆さんの空中戦発表を聞きながら式を書き写してるだけ、みたいな感じだったのを覚えている。あたかも理解できてるような事を喋れていれば「中国語の部屋」的アナロジーが使えるのだけれどそれにも到底及ばないような。 PRML読書会も3周目にもなると、突如PRMLが日語で書いてあるように読めるようになる瞬間がある(実話)。※1周目、遅くとも2周目でそれが来ていれば復々習レーンは無かった。 とかちょっと前置きをしてみたのだけれど、質的にこれは「グラフ描きたいだけのエントリ」である。 PRML読んでて一番楽しいのは図表の再現プログラムを書くこと— naoya tさん (@naoya_t) 11月 12, 2012 だから仕方がない。 題に入ろう。 そ

    カーネル法とガウス過程(PRML下巻 第6章) - naoya_t@hatenablog
    nfunato
    nfunato 2012/11/13
  • x86_64なアーカイブにリンクできない?と思ったらbinutilsのarとranlibが悪さをしていたらしい話 - naoya_t@hatenablog

    Lionにて。 WordNet®をビルドしようとしていて、リンカさんに $ ./configure $ make ... ld: warning: ignoring file ../lib/libWN.a, file was built for archive which is not the architecture being linked (x86_64) て云われた。WordNet3.0でも2.1でも同様。 $ file lib/libWN.a lib/libWN.a: current ar archive $ lipo -info ../lib/libWN.a input file lib/libWN.a is not a fat file Non-fat file: lib/libWN.a is architecture: x86_64 問題なさそうに見えるのに… $ ./co

    x86_64なアーカイブにリンクできない?と思ったらbinutilsのarとranlibが悪さをしていたらしい話 - naoya_t@hatenablog
  • Instagram APIで定形業務を自動化してみた - naoya_t@hatenablog

    Instagramのフレンド・タイムライン*1に流れてくる写真の中で、like_countの下1桁が "9" のものがあれば like し、like_countを繰り上げる というよくある定形業務をInstagram APIで自動化してみました。 最近pythonを使うことが多いので python-instagram で行ってみます。 1. Instagram APIのDeveloperサインアップ http://instagram.com/developer/ client_id, client_secretが貰えます。これを使ってaccess_tokenを取得します。 access_tokenの取得方法は http://instagram.com/developer/authentication/ に説明があります。日語では「5分で使い始めるInstagramAPI」辺りが分かりやす

    Instagram APIで定形業務を自動化してみた - naoya_t@hatenablog
  • Compilersの修了証を頂きました - naoya_t@hatenablog

    おととい一度発行されたのですが、配点の25%分に充てられるはずのFinal examの点数が反映されていなかったため再発行されました。 DeduceIt(1段1段演繹を行うパズルのようなもの)の得点がボーナス的に追加されるため100点を超えています。 Programming Assignmentは任意で、やってもやらなくても必要点の70%に達していれば修了証がもらえるのですが、Programming Assignmentをやって必要点が取れると Furthermore, a full compiler including lexical analysis, parsing, type checking, and code generation for a real machine, was satisfactorily completed. の一文が修了証に加わります。(上の画像の最初のパ

    Compilersの修了証を頂きました - naoya_t@hatenablog
  • 正規表現とかオートマトンとか -Courseraの授業の復習を兼ねて- - naoya_t@hatenablog

    Courseraの授業の復習を兼ねて、とか言ってますがグラフ描きたいだけです。ごめんなさい。 さて。CourseraではMachine Learningの他にAutomataとかCompilersとかも取っているのですが、割と内容がかぶってるので冗長で時間の無駄良い感じに復習になって有難いです。 CourseraでAutomata,Compilers両コースを同時受講していてものすごく冗長な感じがしている(違いはKleene*をε-NFAで表現する時の戻る方向の弧の着地点程度)、そして正規表現→NFA→DFA変換のコードをまた書いてるこれ何度目だ的な #coursera— naoya tさん (@naoya_t) 5月 16, 2012 クリーネ閉包のNFA表現がUllman先生とAiken先生でちょっと違うのだけれど、この違いは何かに影響を及ぼすのでしょうか。 1. Automata (

    正規表現とかオートマトンとか -Courseraの授業の復習を兼ねて- - naoya_t@hatenablog
  • 今週のCoursera(〜7/9; 4月期終了) - naoya_t@hatenablog

    先週のCoursera チェックシート Compilersの最終試験に間に合うように講義ビデオを頑張って消化。 Finished the final exam of #compilers, got 9.75 out of 10(I made a careless mistake). Implementing a COOL compiler was fun. Thanks #coursera— naoya tさん (@naoya_t) 7月 6, 2012 そしてMachine Learningの残り2週分を消化。just finished machine learning course (Andrew Ng) on @coursera. Awesome. Cool. Thanks for these 10 weeks!— naoya tさん (@naoya_t) 7月 9, 2012 とい

    今週のCoursera(〜7/9; 4月期終了) - naoya_t@hatenablog
  • 今週のCoursera(〜6/2) - naoya_t@hatenablog

    (see also:先週のCoursera) 今週からどのビデオを見たか、どの演習をやったか等をGoogle Spreadsheet上でチェックしながら進めています。このシートを見ればまあどの辺りにいるのか分かりますが .@naoya_t さんのずっとやってらっしゃる #coursera の進捗レポートがとても楽しそう。— ラゴンヌさん (@kinaba) 6月 1, 2012 という声もありますし時々の振り返りも重要かと思うので今週のCourseraメモ行ってみます。 参加しているクラス Machine Learning (Andrew Ng, Stanford) - 4/23開講。現在第7週 機械学習システムの設計の指針 闇雲にデータを大量に集めれば良いってものでもない 「そのデータがあれば専門家は自信をもってクラス分類できるのか?」 「大量に訓練データを用意できるか?」 さくっと(汚

    今週のCoursera(〜6/2) - naoya_t@hatenablog