1. koshian2

    No comment

    koshian2
Changes in body
Source | HTML | Preview

自分が技術書典応援祭+技術書典8(+α)で買った技術系同人誌のなかでおすすめのものを書いていきたいと思います。データサイエンス、機械学習系が多めです。

買ったもの全部は書けなかったので、ここに書いていないのがおすすめではないというわけではないです。(最後以外は)全て自分で購入したものです。

A Primer on Adversarial Examples

  • タイトル:A Primer on Adversarial Examples
  • サークル:原理的には可能
  • 著者:菊田遥平
  • ページ数:99ページ

個人的にはめちゃめちゃおすすめの本です。「技術書典 応援祭」に出ている本では一番これがおすすめです。

いきなり「Adversarial Examples」と言っても何のことだかわからないですよね。機械学習のモデル(特にニューラルネットワーク)を騙すようなサンプルです。GAN(Generative Adversarial Networks)の遠い親戚のようなもので、どちらのAdversarialもネットワークを騙すという点では同じです。例を見るのがわかりやすいでしょう。

adversarial.png

GANでおなじみのGoodfellow先生らによる論文からです。とても有名な図なのでどこかで見たことある方もいるかもしれません。このように、人間にわからないようなノイズを加えることで、ニューラルネットワークがパンダ→テナガザルと騙されてしまうというのがAdversarial Exampleの簡単な理解です。

本書のなにがすごいかというと、このAdversarial Exampleをサーベイ+再実装しているというところです。自分が読んで若干難しいなと思うところはあれども、論文紹介にしてはかなり平易にかかれています。

こちらから本文が無料で読めますが、1000円でも安すぎるぐらいなのでぜひ買ってあげてください。

https://github.com/yoheikikuta/a-primer-on-adversarial-examples

Practical Data Science And Data Engineering Vol 01.

  • タイトル:Practical Data Science And Data Engineering Vol 01.
  • 著者:nardtree
  • ページ数:53ページ

技術書典8初出。文章のテイストがnardtree節全開で、読んでて面白かったです。本文がGitHubで公開されていて、Boothのお値段も250円とお安い(本当に売る気あるんか?)。

内容的には「スクレイピング」を扱っていますが、そんじゃそこらのスクレイピングじゃないです。リファラ偽装は序の口、IP偽装に始まり、Tor経由で接続、AWSがBANされたというGeekすぎる内容です。まずこんな内容商業本で出ない(出せない)と思います。

個人的に深く同意したところは「最強のDBは結局ファイルシステム」というところです。これはDBの想定がスクレイピングやデータ分析のような、フルスキャンを前提とする作業が多いからという点もあり、一般のRDBのような利用想定とは異なるというのも大きいと思います。もし分析を1人でやっているのなら既成DBのようなトランザクションの概念は無視できますし、逆に既成DBが実際の用途に対して高級すぎて逆にパフォーマンスが出ないということがおこります。

CPUのコア数が多いのを最大に活用し、並列化によってKVSライクな処理を行おうという発想が楽しいですね。gzipで圧縮かけていますが、これをもう少しいい圧縮にするともっと高速+軽量化できるのではないかなと楽しみにしています。自分もこのようなことを調べていたことがあるので、このへんの話がもっと知りたいなと思いました。

せつラボ 〜圏論の基本〜

  • タイトル:せつラボ 〜圏論の基本〜
  • サークル:ギャラクシー・シックス・センス。
  • 著者:aiya000, 碧はっさく
  • ページ数:154ページ

技術書典6初出。圏論を対話形式の漫画でまとめた本。技術書典8では委託予定の方でした。

昔数学の勉強していたときに、自分が集合・位相論でひーひー言ってた裏で隣の人が圏論やってて、あまりの難しさにぽかーんとしてた思い出がある圏論です。圏論はめちゃくちゃとっつきにくいイメージしかなかったのですが、本書だと「そうなんだよ、圏論は勉強はじめにいいんだ」って言われていて度肝を抜かれました。ざっと目を通したら「あれ、圏論なんかわかりそう」って思いました。

わかりやすいからといって基本をおろそかにすることなく、最初はセオリー通り集合論をおさらいしています。特に、集合の濃度の概念が数学書で読んだときはよくわからなかったのですが、これを読んで「あーそういうことだったの」ってなりました。机上の数学だけでなく途中からHaskellに行って、プログラミングとしても触れられる形になっているのが良いですね。しっかりした本なのでこれからゆっくり読みたいと思います。

本だけでなく著者も面白い方なのでそちらも楽しんでみてください。

リバーシAIを作って学ぶ深層強化学習

  • タイトル:リバーシAIを作って学ぶ深層強化学習
  • サークル、著者:dlshogi
  • ページ数:60ページ

https://techbookfest.org/product/5139241143107584

リバーシ(オセロのこと)を使った深層強化学習の本。強化学習の知識なしでも読めるようになっています。Google Colabのノートブックがあり、1時間程度の学習放置するだけで書籍の内容を再現できるようになっています。

著者は、将棋ソフトを作っている方で、将棋の強化学習で本にされていたこともあります(持っています)。ただいきなり将棋だとルール的に難しいので、最初はオセロ程度でやるのはいい考えだと思います。たかがオセロといえど、強化学習を効率よく回すために専用のライブラリを組んだりと、将棋ソフトの経験が生きていて奥の深い内容になっています。

強化学習を学ぶためのおすすめの書籍の紹介も充実していて(無料で読める書籍もあるらしい)、今度読んでみようかなと思います。

Pythonの黒魔術

  • タイトル:Pythonの黒魔術
  • サークル、著者:カウプラン機関極東支部
  • ページ数:330ページ

「初心者は購入しないでください」のある通り、Pythonをかなり使いこなしている人が読むと楽しめる本。330ページもありますがサクサク読めます。

特に面白かったのは以下の章です。

  • 第3章:演算子。他言語の演算子のオーバーロードですね。例えばlistのappendを左シフトで割り当てたり、文字列の反転をマイナスの演算子に割り当てたりなるほどと思うようなことができます。
  • 第4章:デコレーター。関数のデバッグ(割と有名?)から、メモ化(これは目からウロコ)などサンプル多数。

このへんが特に力が入っています。後半の章はあまりに黒魔術すぎて「もっと普通の方法でできるよね?」って思ったり、もしかしたら執筆の時間が足りなかったのかもしれません。しかし、純粋な黒魔術というのは誰得なものだったりするので、これもありではないかと思います(多分ですけど、本来の予定ではもっと長い本になってもおかしくなかったですよね?)。

ばぶでもわかるおぶざばぶる

  • タイトル:ばぶでもわかるおぶざばぶる
  • サークル、著者:すぎもと組(首都大学東京 システムデザイン学部 杉本達應研究室)
  • ページ数:112ページ

ObservableとD3.jsを使ったデータ可視化。「かっこいいグラフをJavaScriptでサクッと作ってみよう」というありそうでなかった本です。

データ可視化の講義受講者の有志で作った本ということで、かなりわかりやすくこなれた構成になっています。D3.jsもCDNとして使っているおり、環境構築に手間がかかることはありません。D3.jsを使うのは初めてでしたが、メソッドチェーンでごりごり回すという直感的な書き方です(C#のLINQみたいな感じです)。

グラフのサンプルはこのようなのがあります。そこまで難しくない割に表現力が高いので、覚えておくと細かいところで使えると思います。

https://observablehq.com/@d3/gallery

Windows10の標準ソフトだけで本を作る

  • タイトル:Windows10の標準ソフトだけで本を作る
  • サークル:味噌とんトロ定食
  • 著者:ひめだい
  • ページ数:24Pページ数:24ページ

初出は技術書典6。個人的にはかなりおすすめの本です。応援祭にもあります。

「どうすればアウトプットできるか」に焦点を当てた記事は多くあれど、ブログを作るのと、本(同人誌)を作るの間にはかなり隔たりがあり、この情報はそこまで多くありません。実際製本独特のハマりどころも多いです。その隔たりの部分を埋めたいときに、最小限の要素だけ切り詰めたのがこれになります。

もしかすると、本を書こうとしている人は最初から「かっこいい同人誌を作りたいな」なんて思うかもしれません。でもプログラミングで考えてみましょう。初心者がはじめから「PS4で動くようなかっこいいゲームを作りたい」とか死亡フラグですよね? 最初はブロック崩しレベルからチャレンジするべきですよね? つまりブロック崩しレベルの最小限まで切り詰めて「印刷所にはどう入稿すればいいのか?」「Win10の無料ソフトだけでつくるにはどうすればいいのか?」にチャレンジしています。

無料って無料かというと、Wordすら使っていなくてワードパッドで作っているのです。実際はこんなことせずにWord使えばいいんですが、縛りプレイとしては意義があります。Adobeの製品すら使っていませんし、GIMPのような無料のフォトレタッチソフトすら使わず、†ペイント†でやっているのです。エンジニアでなくても一般的に使える内容だと思います。

応用物理の散歩道 創刊号

  • タイトル:応用物理の散歩道 創刊号
  • サークル、著者:東京大学工学部計数工学科・物理工学科
  • ページ数:112ページ

全般的に難しい(理論的・抽象的な)話が多いです。導入は易しくても、突然ふわっと難しい展開になって置いてきぼりになるということがよくありました。グレブナー基底の理論的な導入は読み応えがあります。実験部分は機械学習はわかったけどドメイン知識でわからないというあるあるな状態になりました。

比較的読みやすいのは、

  • Cythonの話:Google ColabのNotebookがついていて、触りながら理解しやすい
  • 量子プログラミングの話:突然テンソル積がでてきてどきっとしますが、量子ゲートを行列表記で説明しているのが、今まで読んだ量子コンピュータの中で一番理解しやすかったです。

理論的な話が好きな方は楽しめると思います。あと表紙の子かわいい。

モザイク除去から学ぶ 最先端のディープラーニング

  • タイトル:モザイク除去から学ぶ 最先端のディープラーニング
  • サークル:じゅ~しぃ~すくりぷと
  • 著者:こしあん
  • ページ数:195ページ

ディープラーニングを誰もが夢見る「モザイク除去」に使うという衝撃の問題作(著者より)。Pythonやディープラーニングの導入から書いているので、初心者からGANもいけちゃうかもしれません。Google Colabの演習問題を解いていけば理解できる形にしています。GANやマニアックな研究についても学べちゃう。GANの日本語著書ほとんどないから、調子に乗ってめちゃくちゃ増刷しました。

購入した人曰く、「ネタにするために買ってみたのに、めちゃくちゃわかりやすくてひっくり返った」「説明がオ○イリーより丁寧!」(本当かよ)。これで学んだ方が、「特定のアニメキャラが描かれているイラストを検出するために頑張っている」とのこと。めちゃくちゃ応援したいです。

最後に

面白そうな本はありましたでしょうか? 皆さんもおすすめの本情報お待ちしております。