2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

FinTechの活用事例【継続的アップデート】

Last updated at Posted at 2019-04-09

FinTechと書きましたが、実際は、気になる研究を斜め読みした、感想も書いています。

8th May 2019

ReWork Deep Learning in Finance Summit

3月19日・20日に、ロンドンで、FinTech / AIの活用事例についてのサミットが開かれた。そのレポートをまとめました。

  1. Jackson Hull (British financial services company GoCompare Group)
    DLを使った顧客体験(UX)の改善について話した。

    • 契約データを更に活用→顧客へより良い金融サービスを提供
    • 他のFinTech ventureと組み、MLとデータサイエンスのベストプラクティスを共有。AIを組み込んだAPIを実装中。
    • "Open Learning"(ML開発のオープンコラボ)が次のステップだという。→既にKaggleとかあり、さまざまなデータセットで競争されKernelもあるので、目新しくはない。
  2. Huma Lodhi (principal data scientist from Direct Line Group)
    「保険・リスク管理業界へのScene understanding(状況理解)のテクノロジーの重要性について」と「リスクモデリング(金融商品リスクで言えばVaRのようなものか?)や保険金支払いへのDL応用の成功例」を話した。

    • 統計的な手法:パラメトリック、事前知識必要→小さなデータセット・少ない変数にはうまくフィット。
    • ML手法:ノンパラメトリック、事前知識不必要→大きなデータセットにも対応。
    • MLの方が統計的より特に優れている点:新しいデータセットに一般化したとき、よりworkするらしい。→単に「汎化性能に優れている」のではなくて、「新しいタスクに転移学習などしてモデルを再利用可能」と言っているのか?
  3. Manuel Proissl (head of predictive analytics at UBS)
    「ドメイン特化したNNでの、Human-Augmented Training(人間によって増強されたトレーニング)」と「モデル透明性(Black boxだから)」
    MLの応用が、どのように、データからモデル化できる部分を抽出しているのか説明→NNはこの部分を数理モデル化し、予測する。

  4. Rich Radley (customer engineer from Google Cloud)
    Googleは、金融サービスの組織と組んで、いろいろやっている。

    • 大事なのは、model interpretability(モデル解釈性)→信用、バイアス緩和(?)、パフォーマンス向上に役立つ。
    • 新しい**BCM(Baysian Case Model)**を構築する重要性→評価時間(?)・解釈性を向上するキーとなるfeature(特徴)を同定できるから。

27th April 2019

Andrej Karpathy blog "A Recipe for Training Neural Networks" 25th April 2019

NNでの良くあるmistakeを予防するための方法論について。
実務的に非常に役立ちそうだったので、私自身100%理解してはいませんが、できるだけまとめます。

筆者はまず、NN実装関連で見受けられる、2つのObservationを列記。

  1. NNのTrainingは"Leaky Abstraction"である。

    "Leaky Abstraction"とは、Joel Spolskyが言い始めた概念。
    高度に関数化されており、ユーザーは欲しいものを書くだけで、中身をどう計算するか知る必要がない。ただ、**正しくつかわないと、間違った(期待しない)結果や、意味のない結果を得ることがある。**そういう機能のこと。

    • Requestライブラリ: GET/POST, HTTP connection etc.のロジックを知らなくても、やりたいことを簡単に書ける。ロジックは難しいが、Leakはない。(Leaky abstractionではない)
    • NN: 残念ながら、上記のようになっておらず、特に、逆伝搬法は、Leaky Abstractionとなっている。以下は例。
  2. NNは、何も言わず、失敗する。
    NNのフレームワークは、どこでミスしたか、エラーメッセージからわからない。

筆者は"Fast and Furious Approach"でNNを訓練しても、うまく行かない、と結論付ける。そこで、注意深く、上記のようなエラーを予防するため、筆者が実践する"Recipe"を公開。

  1. データと一体に

    訓練データを徹底的に調査する。

    • サンプルデータのスキャン: 破損した画像・ラベル、重複したデータはないか?
    • 分布の確認:データの不均衡性(imbalance)やバイアスはないか?
    • パターンの発見:人間(自分自身)の目・脳で、どのように分類しているか?にも注意すべし→構築するNNのArchitectureのヒントになるぞ。
      • 局所的な特徴のみ?/大局的な特徴が必要か?
      • データにどれくらいの多様性(variation)があるか?
      • Spurious variation(偽の多様性。ラベルが正しくないということか?)はあるか?→どうやって、データのPreprocessで除去するか?
      • 空間的な位置は重要?/average pooling(見ている領域のどこかに、パターンがあれば発火)した方がよい?
      • 画像をダウンサンプルできるか?(タスクに詳細な情報が必要?)
      • ラベルがどれくらいnoisyか?
    • 簡単な自作NNモデルを走らせ、誤予測ケースを調査。もし、予測とデータから見て取れるパターンが矛盾→何かが抜け落ちている・・・
    • 最後にデータを再確認:ラベル毎などで、分布を視覚化。分布の各軸でoutlierを見てみる。データの質の問題やpreprocessでのバグを発見することが多いらしい。
  2. End-to-Endの訓練・検証環境を構築

    データは理解したので、End-to-Endの訓練・検証コードのスケルトンを作成。間違いのないスケルトンを作れば、あとはモデルを精緻化すればよい。

    • Linear / ConvNetのような小さなモデルで。
    • Seedを固定:結果の再現性のため
    • シンプルに:data augmentationなど不必要なRegularisationテクニックなどは使わない。
    • テストセット全体で、精度を確認:ミニバッチ上でだけの確認は、今の目的には不十分。
    • 訓練ロスの初期値:想定される初期値通りか確認。softmaxなら-log(1/n_class)らしい。
    • 重み(バイアス)の初期値:訓練ロスが、最初のミニバッチ数stepで"hockey stick"カーブにならず(最初の数stepでは、基本的にバイアスを学習するらしい)学習がスムーズに進むように、出力層のバイアスを正しく設定する。回帰で、訓練データ上で平均50なら、出力層のバイアスを50に設定。不均衡なデータセット(1:10でpos:neg)の場合、出力層のlogitsのバイアスを0.1に設定。
    • 人間のベースライン:Accuracy(精度)など、人間がチェックできる測定基準をモニタリングするべし(訓練ロスは人間にはピンと来ない)。
    • インプットと無関係なベースライン:例えば、インプットを全て0にして、同じモデルを学習させる。元のデータセットに対して結果は悪くなるはず。そうなっているか(モデルは、訓練データセットの情報を反映しているか)?
    • (2,3の例だけ含めた)1バッチにOverfit:モデルの層やユニットを増やして、訓練ロスを0にできるか確認。そうならない場合、どこかにバグあり。
    • 訓練ロスは低下するか:シンプルなトイモデルを使用しているので、underfitしているはず。少し、モデルの複雑性を増してみて、訓練ロスが低下するか確認。
    • NNへ入力する値の確認:TFならsess.run()に渡すテンソル値が、正しいデータになっているか確認。筆者はこれを確認することで、何度もミスを見つけたとさ。
    • 予測のダイナミクス:学習が進むにつれて、固定した検証データセット上で、予測がどのように変わっていくか可視化→どのようにモデルの学習が進んでいるか掴めるらしい。
    • など
  3. Overfitting

    まず、十分大きな(パラメタ数が多く自由度のある)モデルを作り、訓練データにOverfitさせる。

    • 関連文献のコードをパクりなさい
    • Adamを使っておけば安心
    • ちょっとずつモデルを複雑にすること:一気にいろいろやると、間違えるぞ。一つずつ導入し、期待通りの、改善がみられることを確認。
    • デフォルトの学習率の減衰を信用するな:筆者は、LR decayをオフ(定数のLRを利用)にして、本当に最後に、decayを弄るらしい
  4. Regularisation

    十分大きなモデルが見つかったら、正則化をして、いくらか訓練ロスを許容し検証ロスを改善する。
    以下、筆者のアドバイス。

    • まずは、もっと多くのデータを探すのが、王道。
    • data augmentation
    • creative augmentation (fake dataの作成):domain randomisation, simulation, the hybrids, GANなどなど。
    • Pretrain
    • 教師あり学習に注力:教師なし学習を使ったPretrainはあまり成功していない
    • Spurious signal(偽のシグナル)を生みそうな特徴を除く。
      • spurisou signal: Cifar10での例
        • 女性→トラックのラベル
        • ねこのしっぽのみ→ねこのラベル
        • 飛行機と車→飛行機のみのラベル
    • 粒の細かい画像が必要ない→画像を小さくして入力
    • より小さなモデルを使用
    • バッチサイズを小さくする。
    • などなど

    最後に、第1層の重みを出力し、特徴して意味のあるエッジ(画像分類では、第1層で、直線パターンをよく認識する)をとらえているか?を確認するといい。Activationにも問題があることがあるので、注意。

  5. Tuning

    広いモデルArchitectureの中から検証ロスの小さなモデルを探すためのTips

  6. 最高の結果を搾り取る

    いいモデルとハイパーパラメータを見つけたが、もう一工夫して、SOTA(State-Of-The-Art)を獲得できる!

    • アンサンブル:どんなケースでも、約2%の精度向上が見込めるらしい。(あるいはhttps://arxiv.org/abs/1503.02531)
    • 訓練しつづけること:訓練ロスが小さくなっても、反直観的に、訓練は続いている。

15th April 2019

AI運用は人知を超えるか 海外株投信で検証

AIを用いた運用についてではなく、AIを扱うテーマ型投信のパフォーマンスについての話。紛らわしいタイトル。

  • 記事では海外株ファンドの年初来リターンをランキング。
  • 上位にAI関連投信が目立つ。
    • 例えば、一位は、三井住友DSの「グローバルAIファンド」。運用者がAI関連株を選び出すらしい。
    • AIだけでなく、FinTech、ロボット、バイオテクノロジーなどのテーマ型が上位に並ぶ。
  • AI運用ファンドの例として、「GSグローバル・ビッグデータ投資戦略Bコース」
    • 海外先進国の株式市場並みの運用成績。→AI運用ファンドは海外株式に広く分散投資しており、株インデックスに近い構成銘柄になっているのかもしれない。
    • 上記の「グローバルAIファンド」の方がアウトパフォーム。→AI関連株に絞って運用していることが原因か?
  • 「全く新しい観点から将来の有望銘柄を発掘するなど、過去・現在のデータを分析してもあまり役に立たないであろう分野でのAI活用は不向き。しいて言えば、超短期の株売買なら利用できる余地があるのではないか」と東大の和泉潔教授。
  • テーマ型投信の人気は離散しがち。
    • 2017年以降に米国FinTech、ロボット、AIなど銘柄が有名に。
    • 2018年10月、米国発、世界的株安を受け、解約による資金流出が目立つように。現在持ち直しつつあるが、戻り待ちの売り解約が続いている。

12th April 2019

"Lithium-Ion Batteries" - the first machine-generated research book -

https://link.springer.com/book/10.1007/978-3-030-16800-1
個人的には、Auto textsummarisorの技術を知りたい。

  • ベーテ大学とSpringer Natureの共同研究で生まれた、初のMachine-Generatedな学術本。
  • "Beta Writer"というプログラムに、Springer Natureのコンテンツプラットホームの情報を食わせて、Auto-Textsummarisorをし、先行研究のまとめ本を作成。
  • 「学術本の出版」の新時代がスタートする!と本に書いてある。
    • 読者が特定分野の先行研究を理解するのをスピードアップ
  • イントロには、技術的なうんぬんより、「誰が本の作者といえるか?」など、出版界・学術界で起こる問題を提起している。

11th April 2019

Neuro-Symbolic Concept-Learner (NS-CL)

https://openreview.net/pdf?id=rJgMlhRctm
ICLR2019での、MITとDeep Mindの共同研究。人間的な「視覚情報を言語(概念)化する」ことは、いかにもAIってかんじ。ただ、先行研究をよく知らないので、個人的にはどこがすごいのかいまいちよくわかっていませんが。。。

動機:「人間はどうやって、視覚的概念(visual concept)を学ぶのか?」

  • 「視覚(物体)情報」と「言葉」の組み合わせから学ぶ
    • →より複雑な「物体」と「言葉」についての質問に答えられるようになる。
  • MLで実現しよう!→NS-CLの提案

訓練データ

  • 画像とQ&Aのペア (画像には何のAnnotationも付与しない)

モデル:3つのmoduleからなる

  • Neural-beased perception

    • 入力画像(複数の物体が無造作に配置されたもの)→物体認識→知覚的表現(どこに何があるという、「見たままを表現」)
    • viaully-based semantic parser (意味的構文解析)
    • Questionをexecutable programに変換
    • symbolic program executor
  • NS-CLの何がすごいのか?

    • 「視覚的」にも「言語的」にも、もつれを解いた(disentangled)表現
      • 入力シーン(入力画像)と質問(→semantic program)に関して、一般化(複雑化)できる。
      • 例えば、物体の数が増えると、物体間のrelationを学習する必要があり、組み合わせ的に複雑化する。これをうまく学習できる。→先行研究(例えばAnderson et.al. 2018では難しいらしい)
    • 新しい色の物体や、さらに新しいタスクへ転移(transfer)できる。
    • state-of-the-artの精度を達成 (CLEVERデータセットを利用)
      annotationが訓練データに不必要。

10th April 2019

(株)バリューデザインが楽天ペイ(QRコード決済)に対応

  • バリューデザインはハウス電子マネー管理システム「バリューカードASPサービス」を提供。
    • 加盟店ではposレジを使用(販売情報を管理するシステムを搭載したレジ→分析し売り上げ改善を図る)。
  • この度、楽天ペイに対応。
    • posレジへの実装は低コスト。
    • 加盟店で商品購入されると、posレジから情報がバリューデザインに流れ、そこで電子マネー決済か、他のQRコード決済(楽天含む)か判断し、使用した決済サービス元へ、決済データを送信。
  • キャッシュレス化は推進するか?

9th April 2019

時事通信がxenodata labと提携

  • xenodata labはxenoBrainという企業業績予測サービスを提供。
  • 元々、大手金融機関で、上場企業の分析業務に利用されていた。
  • global企業の予測に強かった。
  • ニュース・決算情報→NLPで分析。経済ニュースから「企業に後どんな事象が発生するか」「企業の業績変化」を予想。
  • 時事通信が保有するニュース(国内中心、過去10年で100万本)を利用し、国内企業の予測が配信可能に。
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?