GithubHelp home page GithubHelp logo

paper_reading's People

Contributors

ibotamon avatar yutanakamura-tky avatar

Watchers

 avatar  avatar

paper_reading's Issues

Membership Inference Attacks Against Machine Learning Models

https://ieeexplore.ieee.org/document/7958568

1. どんなもの?

- 多クラス分類モデルをターゲットとした membership inference (=あるデータがtarget modelの学習に使われたかどうかを当てる攻撃).
- 分類モデルであればなんでも攻撃できてしまう.

2. 先行研究と比べてどこがすごい?

- membership inferenceをはじめて提唱した研究と思われる.
- それまでは攻撃といえばmodel inversionのことを指した.

3. 技術や手法のキモはどこ?

- Target modelに実際の学習データが入力されたときの出力はhigh confidenceになるだろうという仮定にもとづく.
- まずデータ空間Sを探索し, target modelが高い確信度でクラスCkに分類するような部分空間Skを探す.
- 次に, Skからの標本をx(in)k, x(in)kに対するtarget modelの出力をy(in)kとし, (x(in)k, y(in)k)に"in"のラベルを貼る.
- さらにSkと離れた部分空間からの標本をx(out)k, x(out)kに対するtarget modelの出力をy(out)kとし, (x(out)k, y(out)k)に"out"のラベルを貼る.
- 上記をもとに, データ点およびtarget modelの出力値からin/outを推定する2クラス分類を解くモデルを構築し, これをattackerとする.

4. どうやって有効だと検証した?

- 定量評価はattackerがtarget modelのtraining setに入っているデータとtest setに入っているデータを見分ける性能によって行なった.
- 各種データセットで検証. 画像とtableデータ. tableデータセットのうち1つは医療情報(Texas hospital stays).
- attackerは高いaccuracyとprecisionを達成した.
- また, attackerに本来のtarget modelのタスクを解かせるとかなり性能が悪く, attackerをtarget modelの学習データに強くoverfitさせることに成功していることも判明した.

5. 議論はある?

- 多クラス分類モデルでさえあればこの方法でなんでも攻撃できてしまう.
- Black-box attackなのでtarget modelの種類についての知識も必要ない.

6. 次に読むべき論文は?

- NLPでの関連研究にたくさん引用されている. 読め読め
- [Membership Inference Attacks on Sequence-to-Sequence Models: Is My Data In Your Machine Translation System?](https://www.mitpressjournals.org/doi/full/10.1162/tacl_a_00299)
- [Privacy Risks of General-Purpose Language Models](https://www.researchgate.net/profile/Xudong_Pan3/publication/340965355_Privacy_Risks_of_General-Purpose_Language_Models/links/5ea7ca55a6fdccd7945b6a7d/Privacy-Risks-of-General-Purpose-Language-Models.pdf)
- [Information Leakage in Embedding Models](https://arxiv.org/abs/2004.00053)

End-to-end Neural Coreference Resolution (EMNLP 2017)

https://www.aclweb.org/anthology/D17-1018.pdf

どんなもの?

- 共参照解析をはじめて end-to-end で行った研究.
- つまり, entityの同定と共参照解析を同時に行う.

先行研究と比べてどこがすごい?

技術や手法のキモはどこ?

- 1. 問題の定式化
    - T個のトークンからなる文書Dに対して共参照解析を行うとする.
    - 文書Dから長さ 1,...,T の部分トークン列を N=T(T+1)/2 通り取り出すことができる. 個々の部分トークン列を span と呼ぶことにする.
    - N個の span を開始位置(と, 終了位置)が若い順にソートし, 順に 1,...,N の番号を振る.
    - 共参照解析は次のことを行うことに相当する:
        - span i に対し, 共参照のペアとなる span yi を割り当てる.
        - ただし span yi は span i より番号が若いとする.
        - また, 共参照のペアとなるべき span が存在しない, もしくは span i がそもそもentityでない場合は, yi = ε とする.
        - 上記をまとめて, yi の候補を Yi = {ε, 1, ..., i-1} とおく.
        - このような yi の推定を i = 1,...,N に対して行う.
- 2. 事後確率の定式化
    - yiの事後確率を P(yi|D) とおく.
    - そうすると, 共参照解析は, 同時確率 logP(y1,...,yN|D) を最大化するような y1,...,yN を求めることにより実行できる.
    - ここでyiの事後確率は, Yi中の全候補に対して確からしさのscoreを求め, そのsoftmaxをとったものであるとする.
    - yi = j となる確からしさのscoreを s(i,j) とおく. s(i,j) は次のように定義する:
        - j = ε ならば, s(i,j) = 0
        - そうでなければ, s(i,j) = sm(i) + sm(j) + sa(i,j)
            - ただし sm(i) は span i が entity でありそうな度合い.
            - ただし sm(j) は span j が entity でありそうな度合い.
            - ただし sa(i,j) は span j が span i の共参照のペアとなってそうな度合い.
    - 以上をまとめると, y1,...,yN = argmax sum(log(softmax(score(yi|D) over yi in Yi)))
- 3. Span representation と score
    - sm(), sa() は次のように計算する:
        - sm(i) = dot(wm, FFNN_m(gi))
        - sa(i,j) = dot(wa, FFNN_a(concat(gi, gj, hadamar(gi,gj), φ(i,j))))
        - ここで gi, gj は span i, j に対する representation(後述), wm, wa は重みベクトル, FFNNはfeed-forward network.
        - また, φ(i,j)はspan i,jから得られる特徴量であって, 次のような特徴量ベクトルをconcatしたものであるとする:
            - i, j の距離に対する20次元のembedding. ただし距離は1,2,3,4,5-7,8-15,16-31,32-63,64+で量子化する.
            - i, j が同一の話者によって話されているかのbool値に対する20次元のembedding.
            - i, j のジャンル(?)に対する20次元のembedding.
            - i, j の長さそれぞれに対する20次元のembedding. ただし後述するが, span長には実際には上限を設けているため, 上限をLとするとspan長は1,...,LのL種類だけ考慮すれば良い.
- 4. Span representation の取得
    - まず文Dの各トークンを token 1, ..., token T とおく.
    - token t に対し, GloVeの300次元ベクトル, Turianの50次元ベクトル, 文字単位CNNに通して得る8次元ベクトルをconcatし, これを xt とおく.
        - Glove, TurianについてはOOVの場合は零ベクトルで代用する.
    - x1, ..., xT を BiLSTM に通す. xt の双方向の隠れ状態をconcatしたものを xt\* とおく.
    - span i の開始位置, 終了位置を Start(i), End(i) とおき, Start(i) <= j <= End(i) に対する xj の重み付き平均を xi^ とする.
        - xj^ はattentionによって計算する.
        - αt = dot(wα, FFNN_α(xt\*)) とする. wαは重みベクトル.
        - 次に, xj^ を x_Start(i), ..., x_End(i) の重み付き平均によって得る. 重みは αt を span区間にわたって softmax で正規化して得る.
    - さらに, φ(i) を span i の長さに対する20次元の embedding によって得る (前節参照)
    - 最後に x_Start(i)\*, x_End(i)\*, xi^, φ(i) を concat したものを gi とする. これが span representation.
- 5. 推論時の計算量を減らすために
    - 次のような制約を設ける:
        - span は最長でLトークンまでとする.
        - sm() の計算の結果, 高いλT個の span だけを保持し, 残りは破棄する. つまりentityは最大でもλT個までしか認識しない.
        - 上記の λT個の span 候補は, sm() の高い順に "accept" していく. ただし, すでにacceptされた他のspan候補と区間がoverlapする場合はrejectする.
        - acceptされたspanそれぞれに対し, 共参照のペアの候補は上位K個だけ保持し, 残りは破棄する.
- 6. Loss function
    - sm, sa は Loss には組み込まず, yi の事後確率を単に最適化している.

どうやって有効だと検証した?

- データセット
    - CoNLL 2012 shared task
        - OntoNotesから作成したデータ.
- 評価指標
    - CoNLL 2012に従う: precision, recall, F1, MUC, B^3, CEAF_φ4
- ベースライン
    - 従来手法9種類.
- 結果
    - 当時のSOTAを更新.

議論はある?

次に読むべき論文は?

FocalMix: Semi-Supervised Learning for 3D Medical Image Detection (CVPR 2020)

http://openaccess.thecvf.com/content_CVPR_2020/papers/Wang_FocalMix_Semi-Supervised_Learning_for_3D_Medical_Image_Detection_CVPR_2020_paper.pdf

どんなもの?

- 3次元医用画像に半教師あり学習(SSL)をはじめて適用した研究.
- MixMatchという半教師あり学習のSOTA手法の一部であるMixUpを用いている.

先行研究と比べてどこがすごい?

- はじめに1: 3次元医用画像における物体検出
    - 多くの研究では異なるスケールの病変を検出するためにFeature Pyramid Networksなどを用いている
    - 無数のアンカーボックスから候補を選別する方法により行う
    - こうするとClass Balanceが著しいため, Ref.22ではFocal LossとよばれるLoss関数を提唱している
- はじめに2: 半分教師学習
    - いろいろな方法があるがMixMatch(Ref.31)が最新のアプローチ
- なにが問題だったか
    - 実は, MixMatchなどの半教師あり学習のアプローチは物体検出にそのまま適用できなかった
    - 理由は, 物体検出で用いるLoss Functionが教師ラベルとしてHard Label(0か1か)のみしかとれないため
        - 例: RetinaNetで使用されているFocal Lossはy=0,1のときで場合分けする形で定義されておりSoft Labek(0<y<1)に対応していない
        - しかし, MixMatchは途中でデータ点を線形補完する工程があり, 教師ラベルがSoft Labelのデータ点が発生してしまう

技術や手法のキモはどこ?

- 半教師あり学習(SSL)の適用を可能にするためのFocal Lossの改良
    - Soft-target Focal Loss = Cross Entropy と (α0 + t(α1-α0))|t-y|**γ の積

どうやって有効だと検証した?

- モデル
    - FPN (Feature Pyramid Networks) の3D版
- 評価指標
    - FROC
    - CPM: Competition Performance Metrics
- データセット
    - LUNA16: LIDC-IDRIデータセットの一部. 888件のCT, 3mm以上の肺結節が1186個アノテーションされている
    - NLST: 75000件のCT
- 実験: 
    - 教師あり学習との比較
        - LUNAデータセットを使用
        - ラベル付き25,50,100枚 + ラベルなし400枚にMixMatchを用いた場合と, ラベル付き425,450,500枚で普通に教師あり学習した場合を比較
        - 驚くべきことにすべての設定でCPMが教師あり学習よりも高かった
    - 汎化性能の検討
        - ラベル付きLUNA画像533結節 + ラベルなしNLST画像3000枚で学習し, NLST画像で検証
        - 全画像にアノテーションして教師あり学習した場合よりも性能高い(CPM 89.2% < 90.7%)
        - ラベル付きLUNA画像533結節だけを使用してMixUpした場合も,なんと依然として性能高い(CPM 89.2% < 90.0%)

議論はある?

次に読むべき論文は?

- Ref.22: 物体検出におけるLoss Function
- Ref.21: 3次元医用画像における物体検出
- Ref.3: 半教師あり学習におけるMixMatch approach
- Ref.39: 半教師あり学習におけるMixUp augmentation
- Ref.31: 物体検出の評価指標(FROC,CPM)

Black Box Attacks On Transformer Language Models

https://debug-ml-iclr2019.github.io/cameraready/DebugML-19_paper_43.pdf

どんなもの?

- GPTを対象としたMembership Inferenceの研究.

先行研究と比べてどこがすごい?

技術や手法のキモはどこ?

- GPTがD_publicで事前学習されたとする(f_lm_base).
- GPTがD_privateでfine-tuningされたとする(f_oracle). D_privateの学習用, 検証用セットをそれぞれD_private_train, D_private_testとする.
- 攻撃者はD_private_trainの中身を知りたいものとする.
- D_publicは一般に公開されているものとする.
- 攻撃者はD_private_train自体は入手していないが, それとよく似たコーパス(ここではD_private_testの一部)は入手しているものとする.
- さて, 攻撃者はattackerを次のように訓練する.
    - D_publicからサンプリングした文書を D~_shadow_train とする. これは "f_oracleの学習に用いられていないコーパス" である.
    - D_private_testからサンプリングした文書を D_shadow_train とする. "f_oracleの学習に用いられたコーパス" であるかのように扱う. D_private_test からサンプリングされていなくても, D_private_train とよく似たコーパスであれば自前で作ってもよい.
    - D~_shadow_trainとD_shadow_trainをそれぞれf_oracleに入力し, 出力yを得る. yから入力文が学習データに含まれていたかどうかを当てるattackerを学習すればよい.
    - ただしf_oracleの出力はそのままでは高次元なので, sqrt(d_vocab)次元へと特異値分解して使用する.

どうやって有効だと検証した?

- D_publicにはBookCorpusを使用
- D_privateには10M HubSpot customer chat messagesを使用
- f_oracleの出力が, D_publicからサンプリングされた入力文に対するものか, D_privateからサンプリングされた入力文に対するものかを見分ける二値分類タスクにおいて最大でAUC 0.700を達成
- さらに, D_publicにBookCorpus以外のものを用いても攻撃はある程度成功した(つまりf_lm_baseの事前学習コーパスと異なっていてもよい. まあ実験の設定を考えればそれはそうだろう)

議論はある?

- 結局はD_publicとD_privateという分布の異なる2つのデータセットに対して, 入力文xがどちらからサンプリングされたものであるかを見分けさせているに過ぎない
- つまり, 真にprivacy riskの評価につながる実験とはいえなさそう

次に読むべき論文は?

Predicting Lymph Node Metastasis Using Histopathological Images Based on Multiple Instance Learning with Deep Graph Convolution (CVPR 2020)

http://openaccess.thecvf.com/content_CVPR_2020/papers/Zhao_Predicting_Lymph_Node_Metastasis_Using_Histopathological_Images_Based_on_Multiple_CVPR_2020_paper.pdf

どんなもの?

- 大腸癌(腺癌)の原発巣の病理組織標本画像のみから, リンパ節転移の有無を予測した研究.
- Multiinstance learning (MIL)を用いた弱教師あり学習(WSL)を用いている.
- 復習: 弱教師あり学習について
    - Ref.48: 弱教師あり学習って?
        - 1つのサンプル(bag)が複数のinsntanceからなっているとする
        - 最終的な目的はbag単位での分類
        - 通常の教師あり学習ではinstanceにもラベルがついているが, 弱教理あり学習ではbag単位のラベルしかない
        - しかも, 個々のinstanceは最終的なタスクに役立つ情報を有しているとは限らず, 逆にミスリーディングであることもある
    - Ref.41,2: 3つの枠組みに分類できる
        - instance-space paradigm
        - bag-space paradigm
        - embedded-space paradigm 
    - Ref.14,40: MMD (Maximum Mean Discrepancy)

先行研究と比べてどこがすごい?

- Whole Slide Imageを入力としている点
- 特徴量抽出とその重みづけを教師なしかつ高い性能で実現させている点.

技術や手法のキモはどこ?

- 3つのcomponentからなる.
    - VAE-GAN
        - 単なるVAEとは異なり, 画像単位ではなく要素単位で最適化しているので, 要素単位の特徴量抽出器として機能する
        - このあとの手順に用いるのはGANの生成結果ではなくその途中の潜在特徴量z
        - Encoder, Decoderに使っているのはResNet-18
    - Multiinstance learning (MIL)を用いた弱教師あり学習(WSL)
        - VAE-GANで抽出された特徴量は冗長であったり余分であったりするので, ここで選別と重み付けを行う
        - スライド全体にはラベルがあるが, インスタンスにはラベルがない
        - このモジュールがスライド全体のラベルとインスランスを関連づける役割をもつ
        - 具体的には...
            - 各病理標本のスライドをX1,...,XNとし, リンパ節転移の有無に対する二値ラベルをY1,...,YNとおく.
            - 各病理病本のスライドXiはKi個のインスタンス xi_1, ..., xi_Ki を持っているとする.
            - 各インスタンスはD次元ベクトルで表されているものとし, その基底をF={f1,...,fD}とする.
            - 目的はj=1,...,Dに対してfjがYiの予測にどれだけ寄与するのかを調べること
            - まず, fkを連続値からNb段階の半定量値にする
            - そして, XiをヒストグラムHi_1,...,Hi_kによって表現する
                - 
            - MMD (Maximum Mean Discrepancy) という距離を利用して分類する.
    - GCN

どうやって有効だと検証した?

- データセット
    - Colon Adenocarcinoma (COAD) cohort of the Cancer Genome Atlas (TCGA) dataset
    - 結腸癌の425患者のH&E染色病理標本 Whole Slide Image (WSI) を含む. TNM分類も付与されている
- ベースライン
    - T-stage + LR: Handcraft featureとT-stageによりロジスティック回帰する.
    - Histomics + Histogram: Handcraft featureを用いる.
    - ResNet + voting: Multiinstance learning (MIL) の一つだが性能がよくない
    - WSISA: Multiinstance learning (MIL) の一つだが性能がよくない
    - ResNet + RNN
    - Attention based MIL
- 評価指標
    - F1 score, ROCAUCなど
- 結果
    - F1 score 0.6667 (全手法中最大)
    - ROCAUC 0.7102 (全手法中最大)

議論はある?

- 原発巣の病理組織標本が手に入るのは手術後だが, そもそも術式を決めるために手術前にリンパ節転移の有無は確認しているはずなので, 手術後にリンパ節転移の有無が高精度で推測できたとしてもタイミングとしては遅すぎる. 実用的な意味はあまりないと思う

次に読むべき論文は?

- Ref.48: 弱教師あり学習について
- Ref.14,40: MMD (Maximum Mean Discrepancy) について
- Ref.25: VAE-GANについて

Deep Distance Transform for Tubular Structure Segmentation in CT Scans (CVPR 2020)

http://openaccess.thecvf.com/content_CVPR_2020/papers/Wang_Deep_Distance_Transform_for_Tubular_Structure_Segmentation_in_CT_Scans_CVPR_2020_paper.pdf

どんなもの?

- 管状構造のセグメンテーションを改善させた
- DDT; Deep Distance Transform を提案

先行研究と比べてどこがすごい?

- 既存の方法は大きく分けて2つ
    - 形状モデルを変形させて管状構造に適合させる
        - Contour-based methods
        - Minimal path approaches
        - Model-based tracking
        - Centerline based methods
            - 管の中心線を同定し, 次に半径を予測して, それを用いてセグメンテーションする方法
            - Ref.34: マルチスケール
            - Ref.35: 2-D Gabor wavelet and classifier combination
            - Ref.36: リッジ回帰
            - Ref.2: ランダムフォレスト
            - Ref.41,29: 多臓器セグメンテーション(管状構造もふくむ)
            - Ref.16: DeepVessel (網膜血管)
            - Ref.37: Kid-Net (腎血管)
            - Ref.50,51: ResDSN (膵管)
            - Ref.15: 気管
            - Ref.13: 上行大動脈など. Adversarialな手法
            - 問題点1: 中心線のground truth構築が難しい
            - 問題点2: 中心線上のボクセルのうち隣接するもの同士は似た特徴をもっており, 半径の予測値に差をもたせることが難しい
        - 限界: 強力な学習モデルがない
    - ピクセル単位で行う
        - 限界: 管状構造の幾何学的構造を考慮できない
- 先行研究の限界点
- 本研究のすごいところ
    - 性能改善
    - 副産物として, 管状構造物の幾何学的特徴を捉えることができる

技術や手法のキモはどこ?

- 距離変換 Distance Transformation を用いている
    - 距離変換とは, 図形内の各要素に, なんらかの要素からの最短距離を与える変換
    - 一般的には距離の公理をみたしていればユークリッド距離でなくてもよい
- 管状構造物のセグメンテーションマスクと距離マップをマルチタスクで学習
    - データ
        - 管状臓器に含まれるボクセルにラベルy=1, それ以外にy=0を振る
        - また, y=1のボクセルであって隣接6ボクセルのうちどれかがy=0であるものの集合を表面(Cv)と定義する
        - y=1のボクセルに対し, Cvとの最短距離を距離dvとする. y=0のボクセルに対してはdv=0と定める
        - ただし, dvはそのまま回帰で予測するのではなく,整数に丸めてone-hotラベル化することで分類ラベルとして扱う(つまり量子化する)
    - マルチタスク
        - Loss
            - y=0,1の二値分類のLoss(L_cls): 重み付きBCE
            - dvの推定のLoss(L_dis):独自のdistance loss functionを用いている
                - dvの正しい予測に対しては事後確率をそのまま返す
                - dvの誤った予測に対してはパラメータλ,距離に応じて変わるスケールωvに事後確率を掛けて返す(詳細は論文参照)
            - 全体のLossは単にL=L_cls+L_disで定める
    - Skeleton Refinement
        - 単に上記のボクセル単位のマルチタスク分類を行うだけではない
        - dvをもとにして, ガウシアンカーネルを用いて各ボクセルの予測値の重み付き平均をとることで平滑化した?

どうやって有効だと検証した?

- セグメンテーションの性能を6つの医用画像データセットで検証
    - 前処理
        - -100〜240HUのボクセルのみ保持し, 平均0, 分散1に正規化
        - 平行移動, 回転, 反転で24倍にaugmentation
    - データセット
        - 公開されているもの: 膵管癌: PDAC segmentation dataset
        - 公開されているもの: MSD challengeの肝血管データセット
        - 医療機関: 大動脈., 静脈, 膵管(生検で証明された膵管癌)
    - 評価基準
        - DICE係数? (Dice-Soerensen coefficient (DSC))
    - 結果
        - DDTは管状構造物のセグメンテーション能力を大幅に向上させた
        - ノイズや背景に対してよりロバストであった
- さらに副産物として, 管状構造物の幾何学的特徴を捉えることもできた
    - 膵管癌を膵管拡張をもとに同定する
        - 参考: 膵癌検出のSOTA(Ref.51)
        - DDTを用いて拡張膵管を同定し, 拡張膵管があれば腫瘍の検出を行う
        - Ref.51単体にくらべ, DDTを併用すると感度94.1%->97.1%に上昇. 特異度は98.5%のまま

議論はある?

次に読むべき論文は?

- 管状構造のsegmentationのcenter line based methodについて(多数.上記参照)           
- 距離変換について(Ref.28)
- Shape reconstruction from skeletonと, それがもたらすセグメンテーションへの恩恵(Ref.32)
- 膵癌検出のSOTA(Ref.51)

MixMatch: A Holistic Approach to Semi-Supervised Learning (NeurIPS 2019)

https://papers.nips.cc/paper/8749-mixmatch-a-holistic-approach-to-semi-supervised-learning.pdf

どんなもの?

- 半教師あり学習(Semi-supervised Learning (SSL))において主流の複数のアプローチを1つにまとめたMixMatchという手法を提案した研究.
- ライブラリもある -> https://github.com/google-research/mixmatch

先行研究と比べてどこがすごい?

- 実質, 既存の手法がぜんぶ盛りになっている
- 以下は半教師あり学習の既存のアプローチ. MixMatchは以下の3つの要素をすべて取り入れている.
    - Consistency Regularization
        - クラスの決定と関係のない素性について一般化する
        - いわゆる画像のAugmentationと同義(例:平行移動することによって絶対的な位置について一般化する)
        - 具体的には...
            - 分類問題を考え, ラベルのついていないデータ点をxとする
            - xにAugmentationを施したデータ点をx1,x2とする
            - x1,x2は同じクラスに分類されて欲しい
            - このために例えば次のようなことを行う
                - Ref.25,40: Loss関数にp(y|x1;θ)とp(y|x2;θ)の2乗ノルムを加える
                - Ref.44: 上記のp(y|x1;θ)をp(y|x1;θ+Δθ)に変える. Δθはパラメーターのexponential moving average
        - この方法の欠点はAugmentationにモダリティに特有のアプローチが必要であること(画像なら平行移動/反転/回転,など)
        - ただしVirtual Adversarial Training (Ref.31) は摂動を用いてモダリティによらないAugmentationを提唱している
        - MixMatchで使用するのはモダリティに特有のアプローチ
    - Entropy Minimization
        - SSLは決定境界が周辺確率のhigh-density regionsを通過しないことを要請している
        - そのためには, ラベルのついていないデータ点に対し, モデルにできるだけエントロピーの低い出力をさせればよい
        - 方法はいくつかある
            - エントロピー自体をLoss関数を加えるもの(Ref.18)
            - Pseudo-Label(Ref.28)も実はこの部類に入る
    - Traditional Regularization
        - つまりは正則化. モデルの複雑さが上がることに対してペナルティを付加する.

技術や手法のキモはどこ?

- 以下, ラベルの"付いた"データ点をx, 付いていないデータ点をuとする.
- 1. Augmentation: 各x, uに対してK回augmentationを行い, x^, u1,...,uKを得る
- 2. Label Guessing: u1,...,uKに対するモデルの予測の平均をPseudo-Labelとする (q=mean(p(y|uk;θ)))
- 3. Sharpening: qの各クラスに対する事後確率をシャープにする
    - Lクラス分類であり, q = (q1,...,qL) とおくと, q -> {qi**(1/T) / sum(qc**(1/T) for c in range(L))}
    - Tは温度を模したハイパラ. T -> +0 の極限をとると q はone-hot vectorに, qのエントロピーは+0に近づく
- 4. MixUp: (データ点,事後確率)の組を2つとり, 線形補完して新しいデータ点をつくる
    - αをハイパラとする
    - λをBeta分布(α,α)からサンプルし, 関数MixUp(r1,r2)をr1,r2の(1-λ):λ内分点を返す関数とおく
    - X={(x^, p(y|x^;θ))}, U={(uk, p(y|uk;θ))} とおき, XとUの和集合をシャッフルしたものをWとおく
    - X, U内の各データ点に対し,MixUp相手をWから非復元抽出によってえらび,MixUpを計算する. するともとのデータ点と同数のデータ点が新しく生成される. 新しいデータ点とX, Uの和集合をX', U'とする
    - まとめると, MixUpの過程でX, U から X', U'が生成され, データ量は2倍になっている
- 5. Loss Function
    - X'に対するLoss: Lx = mean(cross-entropy(p'(y|x';θ), p_model(y|x';θ))) for x', p' in X'
        - X'の事後確率にはモデルが出力したものと線形補完で計算されたものが混在している
        - よって, 線形補完されているものについて, 本来モデルが出力するはずの確率とのcross-entropyを求め, 平均をとる
    - U'に対するLoss: Lu = 1/クラス数 * mean(L2Norm(q', p_model(y|u';θ)) for u', q' in U'
        - Pseudo-labelを教師ラベルとした最小二乗法
    - 全体: L = Lx + λuLu (λuはハイパラ)

どうやって有効だと検証した?

- ハイパラ
    - T=0.5, K=2, α=0.75, λu=100とした
- 画像分類データセット(CYFAR-10, SVHN, STL-10)で検証, 既存のどの半教師あり学習よりも高性能だった

議論はある?

- MixMatchを用いるとモデルのプライバシーリスクが減る(なぜなら少数のデータでもoverfitしないため)
- 差分プライバシーのε値によって定量評価したところ,既存の半教師あり学習であるVATとくらべε=4.96->0.97と大幅に改善

次に読むべき論文は?

BERT-ATTACK: Adversarial Attack Against BERT Using BERT

https://arxiv.org/abs/2004.09984

どんなもの?

- BERTの入力に摂動を与えることでdownstream taskに対する性能を大幅に低下させることに成功した研究.

先行研究と比べてどこがすごい?

- 従来手法では, BERTの入力に与える摂動はhuman crafted featureに頼っており, 文脈も考慮できない.
- 本手法では, 摂動を別のBERTモデルによって決定することで文脈を考慮した摂動を与えることに成功.
- つまり入力文の文法的/意味的な自然さを保ったままBERTの推測を誤らせることに成功している.
- さらに本論文の手法はLSTMに対しても有効であった.

技術や手法のキモはどこ?

- まず攻撃用BERTモデルを用意する.
- 1. 脆弱な単語の検出
    - ターゲットBERTが入力文のうちどの単語にもっとも依存しているかを検出する.
    - これはターゲットBERTに, もとの入力文Sのどれか1単語を[MASK]して入力することを繰り返すことで判別可能.
    - ターゲットBERTの出力の変化量が大きい順ほど脆弱な単語であると考える.
    - こうして脆弱な単語の候補 {w0, w1, ..., } が得られる.
- 2. 摂動の与え方
    - 対象とした脆弱な単語 wi が高頻度語(=そのままでvocabに登場する)か低頻度語(=subwordsの形でしかvocabに登場しない)かで異なる.
    - 高頻度語の場合
        - 工程1で, wi をMASKした場合のMasked Language Modelの予測結果が得られているはず
        - そこでその予測結果から上位K単語 (wi1, wi2, ..., wiK) をえらぶ
        - NLTK辞書を参照し, wiと対義語になるものを除く
        - Sのwiをwij (j=1,...,K) に置換した文をターゲットBERTに与え, ターゲットBERTの予測が誤った段階で攻撃を終了する
    - 低頻度語の場合
        - wi が M個の subword (z1,...,zM) からなっているとする
        - 工程1で, wi をMASKした場合のMasked Language Modelの予測結果が得られているはず
        - そこでその予測結果から, 摂動の候補となる長さMのトークン列を上位K個得る (wi11,..,wi1M,...,wiK1,...,wiKM)
        - ただしトークン列のうち全体が1つのwordに復元できないようなものは除く
        - Sのwiをwij1,...,wijMに相当する単語 (j=1,...,K) に置換した文をターゲットBERTに与え, ターゲットBERTの予測が誤った段階で攻撃を終了する

どうやって有効だと検証した?

- 攻撃の有効性
    - 文書分類タスク, NLIタスクで有効性を検証.
    - いずれのタスクでも攻撃によってaccuracyを10%未満にまで落とすことに成功した.
- 摂動を与えたあとの文の自然さ
    - 人手で評価した.
    - もとの文と, 摂動を与えた文のそれぞれについて, 対象のNLPタスクと同じタスクを行わせ, さらに意味的/文法的な自然さも評価させた.
    - その結果, 摂動を与えたあとの文は人間にとって意味的に自然であり, かつNLPタスクのサンプルとしても同等であることが示された.

議論はある?

- ターゲットBERTが入手できる状況と入手できない状況で攻撃の成功率が変わってくるのでは?
- ターゲットBERTが入手できる状況なら, それをそのまま攻撃用BERTにも使えばよい
- ターゲットBERTが入手できなければ, 汎用BERTなどを攻撃用に使わざるを得ないが, その場合にどれだけ攻撃が成功するのかは不明

次に読むべき論文は?

C2FNAS: Coarse-to-Fine Neural Architecture Search for 3D Medical Image Segmentation (CVPR 2020)

http://openaccess.thecvf.com/content_CVPR_2020/papers/Yu_C2FNAS_Coarse-to-Fine_Neural_Architecture_Search_for_3D_Medical_Image_Segmentation_CVPR_2020_paper.pdf

どんなもの?

- Neural Architecture Search (NAS)によって医用画像のセグメンテーション用のモデルを自動探索する手法を, より洗練させた論文.

先行研究と比べてどこがすごい?

- 医用画像における先行研究がそもそも少なく, またこれまでは手動での探索と同等の性能が出ているに過ぎない
- また, これまでのアプローチはネットワーク構造と重みを同時に最適化するものだったが, 大量のメモリを必要としていた
- そこで, ネットワーク構造の最適化の一部を独立なプロセスとして分離させることで, この問題を解決した
- 補足: Neural Architecture Searchについて
    - 初期: 離散的な探索空間から探す (1個1個候補のネットワークを学習して強化学習か進化的アルゴリズムで最適化する)
        - しかし多数のモデルを学習する必要があり, 検索コストが高くなる
    - その次: 連続的な探索空間から探す
        - ネットワーク構造も微分可能な形にしてしまうことで, ネットワークと重みを同時に最適化する
        - Ref.2,16: 各ネットワークをスーパーネットワークのサブネットワークとし, モデルの学習コストを減らす
        - しかしスーパーネットワークが巨大になるためメモリに載らない
        - そこでどうしたか?
            - Ref.15: AutoDeepLab. 学習時の入力サイズを小さくしてメモリを節約する
                - しかし3D医用画像のSegmentationにおいては, タスクの性質上入力サイズを変えることが不可能
- 補足: Computer VisionにおけるNAS
    - Ref.15: Segmentation
        - Ref.13,20,33,37,40: 医用画像Segmentation
    - Ref.9: 物体検出
    - Ref.14: Attention Mechanism

技術や手法のキモはどこ?

- Coarse-to-fine NAS
    - ネットワーク構造を閉路のない有向グラフととらえる. ネットワークのトポロジーをs∈S, セルに割り当てるoperationをc∈Cとする
    - モデルへの入力はこの有向グラフの順路をたどりながら, 各セルでoperationが適用され, 最終的な出力へと変化する
    - ネットワーク構造の探索空間はSとCの直積で捉えられる
    - 各ネットワーク候補はs, cと重みwが決まれば一意に定義できる. このためネットワークをN(s,c,w)と書くことにする
    - 従来のアプローチにおいて各候補の提示の仕方は次のいずれかであったことに注意する
        - 離散空間から(s,c)の組を1つサンプリングし, 学習によってwを決める
        - 連続空間において(s,c,w)をまとめて最適化する
    - 本研究では「sの組を決め, (c,w)をまとめて逐次学習する」という方法をとる
        - 離散空間からsを1つサンプリングし, 連続空間において(c,w)をまとめて最適化する
- 1. Coarse stage
    - s∈S を提示するstage
    - 本来, ネットワーク構造の候補の探索空間を離散空間としてとらえるのは学習コストを大きくする行為
    - しかし本研究ではネットワーク構造のうちトポロジーだけを離散的に探索することにしたので, それほど非現実的にならない
    - さらに以下のような工夫を2つ加えている
        - 1-1. 探索空間を枝刈りしておく.
            - すでにsegmentationに有効とされている「U-shapeをもつ」「skip-connectionをもつ」の2条件を両方満たすトポロジーだけをSに含める
        - 1-2. 進化的アルゴリズムを適用する.
            - トポロジーの似たネットワーク同士の性能は近いという仮定による.
            - まずトポロジーを記号列として表し, 記号列のユークリッド距離によりK-meansクラスタリングする.
                - ここでは記号列は, 最初のセルを0とし, down-sampling1回で+1, up-sampling1回で-1となるよう定義する.
                - 例えばセルの数が12個なら, "000112333210" などのようになる
                - クラスタ数は8とした
            - 最初は各クラスタから同数のトポロジー候補をサンプリングする.
            - 次の世代では, 性能のよいネットワーク候補を生み出したクラスタからのサンプリング割合を大きくする.
            - これを繰り返すことであらかじめ高い性能が見込まれるトポロジーのみが候補として提示されるようになる.
- 2. Fine stage
    - 与えられた s∈S に対し, c∈Cとwを決定するstage
    - Ref.10: single-path one-shot NAS with uniformly sampling を用いる.
    - 各セルに割り当てるoperationの候補は 3D conv, 2D conv, 3x3x1->1x1x3 P3D convolutionの3つのうちどれかとする.
    - これによって, 次のようにwとcを決定する.
        - w\*: Loss_train(S(s,c,w))のcについての期待値を最小化するw.
        - c\*: Accuracy_val(S(s,c,w\*))を最大化するc.

どうやって有効だと検証した?

- 実験の設定
    - MSD challenge の医用画像segmentation task 10種類で検討した
    - ネットワークの探索自体は膵癌のデータセットのみを用いて行っている. その後, そのネットワークを各taskごとに個別にさらに学習させた
    - 既存手法(5-fold ensembleあり), 提案手法(ensembleなし), 提案手法(5-fold ensembleあり)を比較
- 性能
    - 4タスクで 既存手法(5-fold ensembleあり) を 提案手法(ensembleなし) が上回った
    - 5タスクで 既存手法(5-fold ensembleあり) を 提案手法(5-fold ensembleあり) が上回った
- モデルの軽量化
    - 提案手法では, 性能がほぼ同等なAttention U-Netとくらべてパラメーター数と計算時間がいずれも1/10ほどになった

議論はある?

次に読むべき論文は?

- Ref.42: Neural Architecture Searchについて(強化学習)
- Ref.23: Neural Architecture Searchにおけるパラメータ共有スキームについて

Better Captioning with Sequence-Level Exploration (CVPR 2020)

http://openaccess.thecvf.com/content_CVPR_2020/papers/Chen_Better_Captioning_With_Sequence-Level_Exploration_CVPR_2020_paper.pdf

どんなもの?

- これまでの画像からのキャプション生成手法に共通する限界を理論的・経験的の両面から指摘し, その克服を試みた研究.

先行研究と比べてどこがすごい?

- 先行研究の限界点(理論的な面から)
    - 従来の強化学習を用いた sequence-level training は実は precision を最大化することと同値であり, recallが一切考慮されていない
    - そして, recall は実は precision と生成文の多様性の積に比例する
    - ということは, 強化学習を用いた sequence-level training は同じ入力に対しては似たような文しか生成できず, 多様性に乏しい
- 先行研究の限界点(経験的な面から)
    - 実際に cross-entropy を最大化する手法, sequence-level training, の2手法を用いて, 同一画像から5キャプションを生成すると, 後者では同じような文ばかり出力される
- 復習: これまでの画像からのキャプション生成手法
    - 注意: 本論文ではencoder-decoder architectureを用いた研究のみをfocusにおいている
    - モデルの進歩
        - Ref.32,19,29: CNN-LSTM encoder decoder
        - Ref.34: Spatial attention
        - Ref.35: Temporal attention
        - Ref.37,22,16,27,17,36: その他, 色々なAttention-based model
        - Ref.2: up-down attention
        - Ref.21: hierarchial encoder
    - Lossの進歩
        - Ref.32 (CVPR 2015): CNN-LSTM encoder decoder
            - これはLossを各トークンに対するcross-entropyの和で定義している (Loss = - sum(sum(log P(wni|θ))) (i=1,...,Ln, n=1,...,N))
            - しかし, これは各トークンが他のトークンと独立に選ばれることを仮定している
            - 実際のencoder-decoderモデルでは各トークンはそれまでの生成内容に依存して選ばれるので, Lossが実態を反映していない
        - Ref.23: sequence-level training (ICLR 2016)
            - 強化学習を改良したMixed Incremental Cross-Entropy Reinforce (MIXER) を提案
        - Ref.24: sequence-level training (CVPR 2017) 
            - 強化学習
- 復習: テキスト生成の評価指標
    - 単にground truthと比較するもの
        - BLEU (ACL 2002)
            - modified n-gram precisionによって計算する
                - BLEU-n = (modified n-gram precision)
                - 例: 正解が "The cat is on the mat." で生成文が "the the the the the the the." の場合は BLEU-1 = 2/7.
                - つまり, 生成文にあるトークンが正解のどこかに含まれていればいるほど高くなる.
                - 語順は一切考慮していない.
            - ただし, 生成文の長さcが正解文の長さrよりも短い場合には brevity penalty を掛けてスコアを減らす:
                - brevity penalty = exp(1-r/c) if c<=r else 1
                - BLEU-n = brevity penalty \* (n-gram accuracy)
            - ただし, 複数のnについて一度に評価することもできる. この場合, n-gramに対する重みをwn (ただしsum(wn)(n=1,...,N)=1とする) とおくと,
                - BLEU = brevity penalty \* exp(sum(log(wn \* (n-gram accuracy))) for n=1,...,N)
        - ROUGE
        - METEOR
        - SPICE
        - CIDEr (CVPR 2015)
            - まず, データセット中の画像をIi(i=1,2,...)とし, Iiに対するground truthキャプションをsij(j=1,2,...)とする.
            - sijをn-gramのBoWに変換し, さらにTF-IDF変換しておく. 変換後のベクトルを gn(sij) とおく.
                - ここで, IDFを計算するための"文書数"に相当するのはデータセット中の画像数とする(つまり|I|).
            - CIDErは次のように計算する:
                - 画像Iiに対する生成文をciとし, ciをn-gramのBoWに変換し, さらにTF-IDF変換する. 変換後のベクトルを gn(ci) とおく.
                - CIDEr-n は gn(ci) と gn(sij) のコサイン類似度をj=1,2,...について計算してその平均をとったものとする.
                - CIDEr は CIDEr-nのn=1,2,3,4に対する重みつき平均とする. ただし論文では重みはつけず単に平均をとっている.
    - 生成結果の多様性を評価するもの
        - Div-1 (ICCV 2017): 生成文の集合をYとしたとき, Y中のunique unigramの種類の合計 ÷ Y中の文のトークン長の合計. 高いほど多様性が高い.
        - Div-2 (ICCV 2017): 生成文の集合をYとしたとき, Y中のunique bigramの種類の合計 ÷ Y中の文のトークン長の合計. 高いほど多様性が高い.
        - mBleu (ICCV 2017): 生成文の集合をYとしたとき, Y中の任意の異なる2文から計算したmBleuの平均. 低いほど多様性が高い.
        - Self-BLEU (ACM 2018): mBleuと同義?

技術や手法のキモはどこ?

- 強化学習の目的関数に, 生成文の多様性を評価する項を追加した

どうやって有効だと検証した?

- データセット
    - 画像: MSCOCO dataset
    - 動画: TGIF dataset
- 評価指標
    - CIDEr
    - Div-1, Div-2, mBleu
- 結果
    - CIDEr, Div-1, Div-2, mBleuのいずれも上昇した
    - これにより, 従来の評価指標も改善したほか, 生成文の多様性も確保されたことになる
    - 実際に同一画像に対してキャプションを複数生成されたところ多様な文が生成された

議論はある?

次に読むべき論文は?

- 画像からのキャプション生成に関する既存研究
    - 問題定式化の進歩
        - Ref.23,24: Sequence-level trainingについて
    - モデルの進歩
        - Ref.2: up-down attention
        - Ref.21: hierarchial encoder
    - 多様性を評価する指標
        - Ref.26: Div-1, Div-2, mBleu

RiFeGAN: Rich Feature Generation for Text-to-Image Synthesis from Prior Knowledge (CVPR 2020)

http://openaccess.thecvf.com/content_CVPR_2020/papers/Cheng_RiFeGAN_Rich_Feature_Generation_for_Text-to-Image_Synthesis_From_Prior_Knowledge_CVPR_2020_paper.pdf

どんなもの?

- 複数のキャプションの内容をすべて反映した画像生成を, モデルを1回実行するだけで可能にした研究.
- 既存のAttnGANを拡張したモデル.

先行研究と比べてどこがすごい?

- 1つのキャプションしか使わない場合は情報が大きく欠落してしまう
- しかし, 多数のキャプションを理解することも簡単ではない
- これまでのアプローチ
    - キャプション1つから画像を生成する
        - Ref.21: GAN-INT-CLS (ICML 2016)
        - Ref.35: Stackgan++ (IEEE 2018)
        - Ref.36: HDGAN (CVPR 2018)
    - キャプション1つから画像を生成する + Understanding
        - Ref.19: LeicaGAN (NeurIPS 2019)
        - Ref.20: MirrorGAN (IEEE 2019)
    - キャプション1つから画像を生成する + Attention Base
        - Ref.30: AttnGAN (CVPR 2018)
        - Ref.37: DM-GAN (CVPR 2019)
    - キャプション複数から画像を生成する
        - Ref.24: Chatpainter (NeurIPS 2018)
            - 対話を利用
        - Ref.11: C4Synth
            - 複数回の実行が必要
    - ほか
        - TAGAN (NeurIPS 2018)

技術や手法のキモはどこ?

- 複数のキャプションを利用するには
    - Caption Matching
        - RE2という既存のtext matching手法を用いている
- GANの部分
    - 基本的にはAttnGANを拡張している.
    - AttnGANと異なる部分:
        - 1. 最初のsentence featureを, 複数のキャプションから生成している
        - 2. 隠れ状態hとword embeddingから, attention-baseな隠れ状態cをつくる箇所で, 複数のキャプションを一度に考慮している
        - 3. 最後のDAMSMを, 複数のキャプションに対応させている
    - 上記の1.と2.を実行するために追加されている機構がSAEM (Self-Attentional Embedding Mixture)
    - AttnGANと同じ部分:
        - 全体の流れ.
        - Text encoderにBiLSTMを用いている点.

どうやって有効だと検証した?

- 実験
- データセット
    - Caltech-UCSD Birds-200-2011
    - Oxford-Flower-102
- 評価指標
    - Inception score
    - R-precision
        - 生成された画像が与えられたテキスト記述に対して十分に条件付けされているかどうかを反映した指標.
        - AttnGANの論文でも使用を提唱されている.
        - もともとは情報検索の分野で使用されているもの.
        - あるクエリに対してR個の関連文書を提示し, そのうちr個が実際に関連していた場合, R-precisionはr/Rとなる.
        - テキストからの画像生成では, 生成された画像をクエリとして元のキャプションを検索する.
        - すでにAttnGANの学習を通じてText encoderとImage encoderが学習されているので, 画像とイメージをベクトル化することは容易であり, 検索は単にcosine類似度の高いものから順に提示していく.
        - 本研究では, 生成された画像と, 実際に使用されたキャプション1個と, 無関係のキャプション99個(無作為に抽出した)を用いて, 生成された画像のベクトルとのcosine類似度がもっとも高くなるキャプションが実際に使用されたキャプションとなる頻度をR-precisionと定義した.
- 結果
    - Incepsion scoreとR-precisionがいずれもAttnGAN, DM-GANとくらべ改善.
    - キャプションを一文ずつ増やしていくことで対話的に画像を変化させていくことが可能.
    - 一見たがいに矛盾しているようなキャプションの組が与えられたとしても, 両方の特徴をうまく取り込んだ画像が生成できる.

議論はある?

次に読むべき論文は?

- Ref.32: 本研究で使われているテキストマッチングの手法.
- 過去のアプローチの研究全般.
    - キャプション1つから画像を生成する
        - Ref.21: GAN-INT-CLS (ICML 2016)
        - StackGAN (ICCV 2017)
        - Ref.35: Stackgan++ (IEEE 2018)
        - Ref.36: HDGAN (CVPR 2018)
    - キャプション1つから画像を生成する + Understanding
        - Ref.19: LeicaGAN (NeurIPS 2019)
        - Ref.20: MirrorGAN (IEEE 2019)
    - キャプション1つから画像を生成する + Attention Base
        - Ref.30: AttnGAN (CVPR 2018)
        - Ref.37: DM-GAN (CVPR 2019)
    - キャプション複数から画像を生成する
        - Ref.24: Chatpainter (NeurIPS 2018)
            - 対話を利用
        - Ref.11: C4Synth
            - 複数回の実行が必要
    - ほか
        - TAGAN (NeurIPS 2018)

Focal Loss for Dense Object Detection (ICCV 2017)

http://openaccess.thecvf.com/content_ICCV_2017/papers/Lin_Focal_Loss_for_ICCV_2017_paper

どんなもの?

- 物体検出モデルRetinaNetを提唱した論文.

先行研究と比べてどこがすごい?

- 物体検出モデルにはTwo-stage methodとOne-stage methodがあり, 前者は高性能だが遅く, 後者は速いが低性能だった.
- RetinaNetはOne-stage methodでありながら速くて高性能.
- 補足:
    - Two-stage method: R-CNN, Faster R-CNNなど
    - One-stage method: YOLO, SSD, RetinaNetなど

技術や手法のキモはどこ?

- Loss関数の工夫がキモで, Focal Lossという独自のものを提唱している.
- Focal Loss = -αt(1-p)\*\*γ log(1-p) - (1-α)(1-t)p\*\*γ log(1-p)
    - 領域候補に対する二値分類において, 難しいnegative boxを正しくnegativeと判定してほしいため, そのための重み付けをした.
        - 普通のBinary CEは -tlogp - (1-t)log(1-p)
        - Class balanceを補正する重み付きCE Lossは -αtlogp - (1-α)(1-t)log(1-p)
        - さらにeasy/hardを補正する重み付きCE Lossは -αt(1-p)\*\*γ log(1-p) - (1-α)(1-t)p\*\*γ log(1-p)
- 構造はResNet + Feature Pyramid Networks + アンカーボックスを扱う2つのsubnet.

どうやって有効だと検証した?

- COCOデータセットで検証.
- One-stage methodのYOLOv2, SSD513よりも高性能で, さらにTwo-stage methodのFaster R-CNNよりも高性能だった.

議論はある?

- Focal Loss自体は画像に限らず分類タスク一般に応用できる(easy negativeよりhard negativeの比重を重くするというものなので)

次に読むべき論文は?

Show and Tell: A Neural Image Caption Generator (CVPR 2015)

https://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Vinyals_Show_and_Tell_2015_CVPR_paper.pdf

どんなもの?

- CNN-LSTM Encoder-decoderによる画像からのキャプション生成を最初に行なった研究.

先行研究と比べてどこがすごい?

技術や手法のキモはどこ?

- 全体の方針
    - 画像Iが与えられたときの正解キャプションSの尤度が最大化するようなパラメータθをえらぶ
        - θ\* = argmax p(S|I;θ)
    - CNNで画像をエンコードし, それを単方向LSTMの最初の隠れ状態として用いる. また最初に入力するトークンは開始トークンとする. 1トークンずつ文を生成していき, 終了トークンが出力された時点で終了とする.
    - 貪欲法で文を生成する方法のほか, つねに上位k個の候補を保持しておきビームサーチにする方法もある. 本論文では両方とも試している
- 細かい点
    - CNNはImageNetで事前学習済みモデルを用いた
    - Embeddingは既存のものを使わずゼロから学習した. テキストはそのままtokenizeして登場回数が5回以上の単語のみを保持した. LSTMは512次元

どうやって有効だと検証した?

- データセット
    - Pascal, Flickr8k, Flickr30k, MSCOCO: 1画像に対してアノテーター5名によりキャプションが5文収録されている
    - SBU: Flickrに画像をアップロードする際に添付されたコメントがそのまま収録されている
- 評価指標
    - 人間による, 自動生成の質の評価
        - AMTによるクラウドソーシングを行い, 各生成文を4段階評価させた
        - 各画像を2人ずつで評価 (一致率は65%だった). 意見が一致しない場合はその平均を採用した
    - 既存の評価指標による評価
        - BLEU-1, BLEU-4, METEOR, Ciderなどで評価した
        - 人間が書いたキャプションの評価
            - 1<=i<=5, 1<=j<=5, j!=i に対し, goldキャプションi と goldキャプションjのscoreを計算し, その平均をとる
        - 自動生成したキャプションの評価
            - 1<=j<=5 に対し, 自動生成したキャプションとgoldキャプションjのscoreを計算し, その平均をとる
        - ただし, 自動生成結果は5キャプションと比較され, 人間が書いたキャプションは4キャプションと比較されており, 条件が異なっているので, 補正した
- 結果
    - 人間が書いたキャプションにわずかに及ばないが, 近い値のBLEU-1 scoreを達成 (59〜63)
    - BLEU-4 scoreは27.2

議論はある?

- N-best解を出力したときのSelf-BLEUは人間のキャプションと類似しており, 同程度の多様性が確保されているといえる

次に読むべき論文は?

Higher-order Coreference Resolution with Coarse-to-fine Inference (NAACL 2018)

https://www.aclweb.org/anthology/N18-2108/

どんなもの?

- #13の研究をさらに発展させたもの.

先行研究と比べてどこがすごい?

- #13などのfirst order modelsには, 陥りやすい特有の誤りがある
- locally consistent but globally inconsistent
    - 例えば, 曖昧性を含む entity A, B, C があったとき, AとBだけをみると共参照に見える, BとCだけをみると共参照に見える, しかしA,B,C全体を考慮した場合はA,B,Cすべてが共参照となるのではなくAとB, AとC, BとCのいずれかだけが正しいということが起こりうる
    - 例として挙げられているのはこちら:
        - Speaker 1: Um and **I** think that is what’s - Go ahead Linda.
        - Speaker 2: Well and uh thanks goes to **you** and to the media to help us... So our hat is off to **all of you** as well.
        - この例では, モデルは "youが指し示すのはI", "all of youが指し示すのはyou", という2つの推論を独立に下してしまうことがありうる.
        - しかし, 実際には "you" は単数/複数のどちらか片方しか取れないので上記の推論が互いに矛盾することは明らかである.
        - このような矛盾はcoreference pairを独立にしか扱っていないことによって生じている.

技術や手法のキモはどこ?

- 1. 問題の定式化
    - End-to-end Neural Coreference Resolution (EMNLP 2017) とまったく同様.
- 2. 事後確率の定式化
    - End-to-end Neural Coreference Resolution (EMNLP 2017) とまったく同様.
- 3. Span representation と score
    - End-to-end Neural Coreference Resolution (EMNLP 2017) とまったく同様.
- 4. Span representation の取得
    - End-to-end Neural Coreference Resolution (EMNLP 2017) とまったく同様.
- 5. 推論時の計算量を減らすために
    - End-to-end Neural Coreference Resolution (EMNLP 2017) と似るが, 以下の点が異なる:
        - 本研究では検出するentityの上限をMとする. 詳細は前の研究を参照.
        - ここではandecedentの候補の上限の枝刈りのしかたを工夫する. 詳細は下記の7.を参照.
- 6. Span representation を洗練させる: Higher-order Coreference Resolution
    - ここからが本研究独自の改良点.
    - まず 4. で得られた span i に対する Span representation を gi^1 とする.
    - なお, ここでの span は可能な部分トークン列すべてではなく, 5. の過程ですでに枝刈りされていることに注意.
    - 次に, coreference resolution の推測結果を用いたgの更新と, 更新後のgによるcoreference resolutionの再推測を, 交互にN回行う:
        - n回目のiteration (n=1,...,N) と span i に対し,
            - span i の coreference andecedant が yi である確率を Pn(yi) とおく.
            - 次に, attention を用いて, span i の andecedant の "span representationの期待値のようなもの" ai^n を計算する.
                - 具体的には ai^n = sum(Pn(yi) * gyi^n) for yi in Yi と計算する.
            - 次に, span i の span representation を, ai^n との内分点に更新する.
                - どのように内分するのかは次のように計算する.
                - Gate vector fi^n を fi^n = sigmoid(Wf(concat(gi^n, ai^n))) のように計算する.
                - 次に gi^(n+1) を gi^(n+1) = hadamar(fi^n, gi^n) + hadamar((1-fi^n), ai^n) のように更新する.
- 7. Coarse-to-fine inference
    - 6.はM*M*(3|g|+|φ|)のテンソルサイズを要求するため, 長い文書に対しては適用が難しくなる.
    - そこで次のようにメモリ削減を行う:
        - First stage: まず, 検出するentityの上限をMとする.
        - Second stage: 次に, M個のentityそれぞれに対して, 大雑把なスコアを計算し, それによってandecedantの候補をK個に枝刈りする.
            - 大雑把なスコアとは sm(i)+sm(j)+sc(i,j).
            - sc(i,j)は本研究ではじめて登場するもので, dot(gi.T, Wc, gj)によって計算する.
            - sc()の正確さはsa()におよばないが, 消費するメモリは圧倒的に少ない.
            - ここではspan representationは初期のものだけを使い, Higher-order Coreference Resolutionによる洗練は行わない.
        - Third stage: entityとandecedantの組(M×K個)に対して, Higher-order Coreference Resolutionによるspan representationおよび推論結果の洗練を行う.
            - このとき, スコアには s(i,j) = sm(i)+sm(j)+sc(i,j)+sa(i,j) を用いる.

どうやって有効だと検証した?

- End-to-end Neural Coreference Resolution (EMNLP 2017)と同様, CoNLL 2012 shared task で検証し, SOTAを更新.

議論はある?

次に読むべき論文は?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.