タグ

ブックマーク / postd.cc (13)

  • ニューラルネットワークの動物園 : ニューラルネットワーク・アーキテクチャのチートシート(前編) | POSTD

    新しいニューラルネットワークのアーキテクチャがその時々で誕生するため、それら全部を把握することは困難です。全ての略語を覚えようとすると、最初はその数の多さに圧倒されてしまうでしょう(DCIGNやBiLSTM、DCGANを知っている人はいますか?)。 そんなわけで、これらのアーキテクチャの多くを盛り込んだチートシートを作ることにしました。そのほとんどはニューラルネットワークです。しかし、中には全く異なるアーキテクチャも潜んでいます。どれも独特で目新しいアーキテクチャばかりですが、ノードの構造を描くことで基的な関係が分かりやすくなってきます。 これらをノードマップとして描くことの問題点は、これらがどのように使われるかを明確に示していないという点です。例えば、変分オートエンコーダ(VAE)はオートエンコーダ(AE)と同じように見えますが、実際は訓練過程が全く異なりますし、訓練したネットワークの

    ニューラルネットワークの動物園 : ニューラルネットワーク・アーキテクチャのチートシート(前編) | POSTD
    mrkn
    mrkn 2017/03/03
    あれなんだったっけ?って時に見るとすぐ思い出せて便利そうだ。
  • 私たちはいかにして環状線で”悪さをする列車”を捕まえたか | プログラミング | POSTD

    文:Daniel Sim 分析:Lee Shangqian、Daniel Sim、Clarence Ng ここ数ヶ月、シンガポールのMRT環状線では列車が何度も止まるものの、その原因が分からないため、通勤客の大きな混乱や心配の種となっていました。 私も多くの同僚と同じように環状線を使ってワンノースのオフィスに通っています。そのため、11月5日に列車が止まる原因を調査する依頼がチームに来た時は、ためらうことなく業務に携わることを志願しました。 鉄道運営会社SMRTと陸上交通庁(LTA)による事前調査から、いくつかの電車の信号を消失させる信号の干渉があり、それがインシデントを引き起こすことが既に分かっていました。信号が消失すると列車の安全機能である緊急ブレーキが作動するため、不規則に電車が止まる原因となります。 しかし8月に初めて発生した今回のインシデントは、不規則に起こっているように見えるた

    私たちはいかにして環状線で”悪さをする列車”を捕まえたか | プログラミング | POSTD
    mrkn
    mrkn 2017/02/25
    探索的データ解析だ
  • コードの半減期とテセウスの船 | POSTD

    プロジェクトが発展する際は、単純に新しいコードが古いコードの上に追加されているのでしょうか。もしくは、時間をかけて徐々に古いコードが新しいコードに置き換えられているのでしょうか。これを解明するために、手ごわい GitPython プロジェクトの助けを借りて、Gitプロジェクトを分析する 簡単なプログラム を構築してみました。履歴を年ごとに振り返り、 git blame を実行してみようと思ったのです(この処理を多少でも速くすることは簡単ではないと分かりました。しかし、ファイルのキャッシングを便宜的に含ませることや、変更された点を履歴から見つけること、 git diff を使って変更したファイルを無効にすることなどの詳細を、いつかお伝えします)。 頭がさえている時に、 テセウスの船 をダサくもじって、 “テセウスのGit” と名付けました。私は父親になって、ひどいダジャレを作れるようになった

    コードの半減期とテセウスの船 | POSTD
    mrkn
    mrkn 2016/12/27
    面白い
  • Stack Overflowのデータサイエンティストとしての1年間 | POSTD

    2013年1月のある日、気が付くと私はインターネットで時間を無駄遣いしていました。 これは、残念な発見でした。博士課程の2年半は、みんな忙しくなります。私もそうでした。酵母遺伝学の研究発表が控えていましたし、ニューヨーク大学との共同研究の論文は数カ月遅れていました。しかも学部での研究が残っていて、それはさらに滞っていました。また、プライベートも忙しく、イスラエル旅行から帰国してブラジルの柔術とジョギングを再開したばかりでした。 しかし、そんな日々の中で、 知らない人からのベータ分布に関する質問 に答えて時間を無駄にしていたのです。質問はCross Validatedというサイトに寄せられたものでした。これは開発者向けのQ&Aサイト「Stack Overflow」の統計学版姉妹サイトです。その時までの約1年間、私はStack Overflowでは積極的に回答していましたが、Cross Val

    Stack Overflowのデータサイエンティストとしての1年間 | POSTD
  • プログラミング言語の選び方、そのやり方を学ぶ | POSTD

    (編注:2016/7/27、頂いたフィードバックを元に記事を修正いたしました。) プログラムを習得しようとする場合に最初に決めることの1つは、どのプログラミング言語を学ぶかです。誰かが決めてくれたり、その言語を使うクラス、あるいは使う必要のあるフレームワークによって指示されていたりする場合もありますが、少なくとも幾つかの選択肢があることが多いでしょう。 1つ目(そして2つ目)の言語を選ぶのは、なかなか難しいものです。というのも、選択肢が多過ぎるのです。ある言語と別の言語がどう違うかは、必ずしも明確ではありません。自分がしたいことを実現するのにどちらが “より適切” かとなると、さらによく分からなくなります。稿では、選択肢となり得る言語の概要と、各言語を差別化するものについて説明することによって、読者の皆さんが確かな情報に基づいて学ぶ言語を決定できるよう、手助けをしたいと思います。 稿は

    プログラミング言語の選び方、そのやり方を学ぶ | POSTD
    mrkn
    mrkn 2016/07/05
    Julia に言及してない記事です。
  • コーディングを学ぶこと、それはあなたが考えるよりも大変です | POSTD

    要約:全ての根拠が示しているのは、「プログラミングには高い適性を要求されますが、適性を持った人間はわずかしかいない」ということです。最近の流行の短期でコーディングを学べるコースは、デマカセを売り付け、プロのプログラマのスキル不足解消に何ら力になってないのです。 これはイギリスからの観点での記事です。私はこの事象について、とりわけソフトウェア開発者の社会的地位に関しては、他の地域決してこの通りではないと思っています。 メディアが共通して取り上げるテーマは、スキルのあるプログラマの不足です(”プログラマ”も”コーダ”も”ソフトウェア開発者”も、ここでは全て同じものを意図し、区別せずに使用しています)。このコーディング技術のギャップには解決の糸口が見えない心配が多くあります。要は”明日の高品質な仕事”を担う候補者を生み出すことに失敗しているということです。例えば、 The Telegraph の

    コーディングを学ぶこと、それはあなたが考えるよりも大変です | POSTD
    mrkn
    mrkn 2016/01/20
    "要約: (略) 最近の流行の短期でコーディングを学べるコースは、デマカセを売り付け、プロのプログラマのスキル不足解消に何ら力になってないのです。"
  • データサイエンスのワークフロー ― データ分析を効率に行うために | POSTD

    データを扱うときに、きちんと定められたワークフローがあると助かります。具体的には、「ストーリーを伝える」(データの可視化/ジャーナリズム)ことだけを目的として分析を行いたいのか、それとも一定のタスク(データマイニング)をモデリングするためにデータに依存するシステムを構築することが目的なのか、プロセスが重要です。前もって方法論を定めておくことによって、チームの足並みが揃い、次に何をすべきか考え出そうとして無駄な時間を費やさなくて済みます。それによって早く結果が得られ、資料の公表も早くなります。 これを念頭に、Ashley Madisonの漏洩データ分析に関する 前回の記事 に続いて、私たちが現在使用しているワークフローをご紹介します。このワークフローは、データ漏洩(Ashleyのケースなど)を分析するためだけでなく、社内のデータの分析にも使用されます。ただし、重要な点として、このワークフロー

    データサイエンスのワークフロー ― データ分析を効率に行うために | POSTD
  • 本当に有意義なエラーメッセージを書くには | POSTD

    想像してください。あなたは今、オフィスにいます。周りとは仕切られた個別スペースです。今週は、近々新たに展開する予定の製品を紹介するために多くの時間を割いてきました。疲れが溜まり、不機嫌ぎみになっています。今はようやく近づいた週末が待ち遠しくて仕方ありません。 しかしその前に、新製品を紹介するホームページがWindows 10で正常に動かくかどうかを試してみなければなりません。あなたは問題ないはずだと信じています。あなたが信頼を寄せているMacには、Windowsを問題なく実行できるソフトもインストールされています。 ソフトを起動してみると、丁寧にもWindowsがポップアップ通知で可能なアップデートがあることを知らせてくれます。もちろんアップデートを開始するため、あなたは了承します。 すると、こんなものを目にするのです。 訳:何かが発生しました。 何かが発生。 新製品の準備のため期限が迫っ

    本当に有意義なエラーメッセージを書くには | POSTD
    mrkn
    mrkn 2015/10/04
    すべてのケースをウォークスルーしないと開発側も理解できないにょ。
  • Pythonや機械学習、そして言語の競争について – 極めて主観的な見地から | POSTD

    (訳注:2016/1/5、いただいた翻訳フィードバックを元に記事を修正いたしました。) よくある主観的で痛烈な意見を題名に付けたクリックベイト(クリック誘導)記事だろうと思われた方、そのとおりです。以前指導してくれた教授から教わったある洞察/処世術は、些細でありながら私の人生を変えるマントラとなったのですが、私がこの記事を書いたのはそれによるものです。「同じタスクを3回以上繰り返す必要があるなら、スクリプトを書いて自動化せよ」 そろそろ、このブログはなんだろうと思い始めているのではないでしょうか。半年振りに記事を書いたのですから。ツイッターで書いた Musings on social network platforms(ソーシャル・ネットワークプラットフォームについてじっくり考える) はさておき、この半年の間書き物をしていないというのはうそです。正確には、400ページの を書きました。

    Pythonや機械学習、そして言語の競争について – 極めて主観的な見地から | POSTD
    mrkn
    mrkn 2015/10/01
    Juliaを発展させよう。
  • Scalaで型レベル”だけ”でクイックソート | POSTD

    Scalaの型システムが先進的であることは、皆さんもご存じのことかと思います。この投稿では、Scalaの型システムのみを使った クイックソート アルゴリズムの実装方法をご紹介したいと思います。なお、ここで紹介するデモの完全なコードは こちら をご覧ください。 自然数 まずは準備から。ソートアルゴリズムを実装するには、ソートする対象が必要ですよね。ここでは自然数を用います。もちろん、Scalaの型システムには利用可能な自然数はありません。そんなわけで、全ての自然数の型を作る必要があります。 型を無限に作るというのは、恐らく時間の浪費になるでしょうから、ここはもう少し賢い手を考えます。そう、数学を使いましょう。 ペアノの公理 ペアノの公理とは、自然数を形式的に定義するためのシンプルな方法のことです。 0 は特別なものとする。 0 は自然数である。 全ての自然数 n には、それに続くもう1つ別の

    Scalaで型レベル”だけ”でクイックソート | POSTD
    mrkn
    mrkn 2015/07/03
  • Vimの生産性を高める12の方法 | POSTD

    1. LeaderをSpaceキーにする Leader は素晴らしい概念です。キーの 組み合わせ ではなく 並び によって、操作を行えるようにするものです。私はこれを使っているので、操作のために” Ctrl -何らかのキー”の組み合わせを押す必要はめったにありません。 私は長い間、 , を Leader キーとして使っていました。ですがある時、キーボードの中で一番目立つキーにマップすることを思い付いたのです。Space(スペース)キーです。 これで私のVim生活は激変しました。今や、私は Leader をどちらの親指でも押すことができ、他の指は常にホームポジションにあります。 Leader がとても使いやすくなったので、私が様々なキーバインドで用いるようになったことは周知の話です。 2. 自分が特によく行う操作をLeaderにマップする 私は、自分がVimで作業を行っている中で、その時間の

    Vimの生産性を高める12の方法 | POSTD
    mrkn
    mrkn 2015/06/26
    僕も Leader をスペースにしてます。ujihisa の影響。
  • ファミコンのグラフィックスの省メモリ化テクニックとは? | POSTD

    1983年に発売されたNintendo Entertainment System(NES、日での商品名は「ファミリーコンピューター」、以下「ファミコン」)は安価なのに高性能だったため、大ヒット商品となりました。独自設計のピクチャー・プロセシング・ユニット(PPU)を使うことで、当時としては驚きの映像を生み出すことができました。そして、今でも特定の環境で視聴すればとてもきれいな映像が楽しめます。一番の業績はメモリの利用効率です。グラフィックスを最小限のバイト数で作成することに成功しました。それと同時にファミコンは、開発者に便利で使いやすいツールを提供しました。その点でも、それまでのテレビゲーム機とは一線を画した製品でした。ファミコンのグラフィックスの生成方式を理解すれば、システムの技術的な優れた能力のありがたみが分かるはずです。そして、現代のゲーム製作者が現在のマシンではどれだけ簡単に作業

    ファミコンのグラフィックスの省メモリ化テクニックとは? | POSTD
    mrkn
    mrkn 2015/06/03
    こういうのは MSX で学んだ
  • 優れたプログラマに対しての、管理職への昇進以外のキャリアパス | POSTD

    あなたは、これからキャリアを切り拓こうとしている素晴らしいエンジニアたちを抱えています。チームは優れた成果を出して成長し続けているので、何らかの具体的な方法で賞賛したいと考えています。すぐに思いつくことは、特にエンジニアたちがそのチーム内ですでに事実上リーダーの役割を果たしている場合には、彼らにチーム内での役職を与えて昇進させることでしょう。でもその報酬は、当にエンジニアたちが望んでいるものでしょうか? もしかしたら彼ら自身も、昇進は望むべきもの、と思い込んでいるだけではないでしょうか? 人材マネジメント力は別のスキル エンジニアの世界では、エンジニアたちが技術面ではピークに達した後に、これまで習得したものとは全く別の、社交面だとかソフト面におけるスキルを学ぶよう求められることがよくあります。これらは、エンジニアたちが過去のキャリアではほとんど気にしていなかったものです。このようなスキル

    優れたプログラマに対しての、管理職への昇進以外のキャリアパス | POSTD
  • 1