Destiny2: ギャンビット/クルーシブル/ヴァンガードストライク アーマー一式の情報サイト

海外勢のこういうまとめサイトを作る気力はすごいですね。

とにかく地道に狩るしかないですね(;・∀・)


Wordperss Markdown Editor + WP Code Highlight.js で快適記事執筆環境

Markdown Editor

WP Code Highlight.js

WordPress の記事を Markdown で書きたかったので、 Markdown Editor を入れました。

Markdown Editor デフォルトだとシンタックスハイライトがいい感じにされないので、 WP Code Highlight.js も導入。

Syntax Highlight はこんな感じ

def hello
  puts "world"
end

Markdown Editor は Side-by-Side もあるのでとても便利。


Ruby on Rails で Token base authentication(JWT) と OmniAuth を組み合わせて使うと「OmniAuth::NoSessionError (You must provide a session to use OmniAuth.):」と言われる問題の対処

こんな感じで書くといいっぽい

Doing this at ApplicationController:

class ApplicationController < ActionController::API
  before_action :skip_session
  ## Skip sessions and cookies for Rails API
  def skip_session
    request.session_options[:skip] = true
  end
end

And adding this in application.rb:

config.middleware.use ActionDispatch::Session::CookieStore

As @betoharres says, it’s ugly but works for now.

確かに上手くいったけど、なんでこれで対処できているのか分からんのであとで調べる


買った: BASYS 3

リファレンスはこちら


欲しいもの: Lattice iCEstick (FGPA)

Digi-Key はこちら。

 

こんな使い方をしている人もいるらしい。

ブレッドボードに挿して、スイッチと連動するっていいね。

 


感想: CPUを作る TD4への道

最近はこういうのを見て楽しんでいる。

TD4 と大きく異なるのは ROM 自体は PIC を使って実現していること。

PIC はからっきしなので使えたらカッコいいなぁ。

74HC181 自体の供給も減ってきているし、はてさて FPGA で作ったほうがいいかなぁ、という思いを個人的に抱いている。

 

なんでこういった読み物にたどり着いたかというと、 555タイマーに挟んだコンデンサの意味が分からん、となっていたから。

コンデンサの役割はここで理解しつつ、プルアップの記事も読んだ

分圧や分流の仕組みが実は知ったかぶりだったらしい。丁寧に解説されていて、LED が光らない理由も明確になった。

 

ハードは理科の実験みたいでチマチマしているけど、確実に進んでいる感覚があって楽しい(∩´∀`)∩


気になっているFPGAボード

DE10-Lite

MAX10 載っているのでいい感じかも

 

 

 

Other

色々学習の過程が書かれていてよい。あとで読む


機械学習について軽く学んだので雑に書く

機械学習に触れる機会があったのでメモ。雑に書いているから読みにくいのは仕方ない

データの整理や賢いしきい値設定に関してはなんとなく想像ができていて、

画像の生成ってピンとこなかったけど、行列で生成みたいな感じなのね。

 

学んだことメモ

  • 「強いAI」と「弱いAI」があること
  • 損失関数や活性化関数など数学的なニュアンスが強い
    • シグモイド関数など既存の関数を適用するわけだけど、そこはブラックボックス的に使うケースもそこそこある
  • ディープラーニングにおいてはパーセプトロンが大体は最小単位
  • パーセプトロンを組み合わせた上で活性化関数などを用いて、インテリジェンスな判断を行う
  • weight という重み付けをして、賢い重み付けを模索するために GPU を必要とするレベルの並列計算が必要
    • パスワードのブルートフォース手法の限界みたいだ。総当たり攻撃か辞書攻撃みたいなものもあるが、精度はやはりイマイチ、みたいな

実用的な例

  • メールの文言を最小単位(形態素解析など使って)にして、そこをパーセプトロン + weight で活性化関数を組み合わせてスパムメールの判定
  • 画像生成に応用してキャラを自動的に生成、とか
  • 挙げたらキリがないけど、やはりメディア系が多い
  • 異常システムの検知くらいになってくると機械学習でも難しいかもしれない?
    • 人が判断するにしてもかなり難しいし

画像の生成に関しては下記の記事がわかりやすかった。生成過程の画像とかグチャグチャだけど、descliminator によって正解に近づけていくのね。descliminator の提示する正解が数パターンあると、複数の画像を生成できるかもしれない

一エンジニアとして機械学習を適用していくには?

現段階でかなり賢い AI は Google や Adobe Sensei によって開発されているから、ぶっちゃけ勉強しても大規模なレベルの開発は難しい。

いわゆる「弱いAI」を自分のサービスとかに適用していくにあたっては、まずはドメインの理解というか、自分のサービスでやっていることを深く理解してから何を最適化するかを考える必要がある

例えば、就職活動を支援するサービスに適用しようとすると、ユーザがタグ付けを行わないで、ユーザが書いた自己紹介や履歴書から賢いタグ付けなどを行うことができる。

賢いタグ付けをするためには、傾向を知るために履歴書やユーザの書く自己紹介に(ある程度は)詳しくなる必要もある

と、考えると機械学習のロジックを実装する手間と、機械学習を使わないで手でベタにロジックを書くかは時間とのバランスも大切で。

 

Slideshare とかのタグ付けも実際に応用されているところだとは思うけど、コンテンツが大量に生成されるであろう環境で使うのがいいんだろうなぁ。商品の推奨とかあるけど、ありきたりっちゃありきたりだし。

汎用性を高めると、Google とか Adobe とかがすでにやっているサービスとあまり遜色なくなってしまうし、あまりにも限定的な用途特化で作り込むと機械学習の旨味というのは減る気がしている。

(限定的にすると自前でコードを書いた方が安い可能性がある)

 

うーん、この適用するバランス感覚を身につけるってことが機械学習エンジニアとしての勘所なのかな。