Day 55 「共有すること」がいかに大事か
1. 画像処理
- Segmentationの評価軸 IoUについて学習.
- torchmetricsでは、今は
jaccard index
というメソッドに変更されている. - Jaccard Indexについては、refにも記載がないややこしじ扱い方がある...これもQiitaにまとめて発信しておこう.
- torchmetrics.functional.jaccard_indexが一番使いやすい
- UNetのバックボーンをResnet18に変更し、初期重みをimagenet, epoch 30で学習させた → あまりIoU上がらず. (0.61 → 0.58)
- torchmetricsでは、今は
Data augmentationについて改めて学習.
- albumentationというライブラリを用いることで、mask, image両方に同じような拡張が施せる.
- PyTorchのエコシステムがいかに広いかを改めて実感.
演習問題として、犬/猫と背景の2クラスを分類するセグメンテーションに挑戦. Resnet18をバックボーンとしたUNet構築により、IoUとしては0.88近くを達成.
- そもそも2クラスのため、IoUは講義中に扱った12クラス分類よりも高めに出やすい. そのため、特に工夫なくepoch 30程度学習させて0.88近くの高スコアを達成した.
- セグメンテーション結果としても、下図の通りで、実用面で問題なさそうなレベル.
- やはり、クラス数が少ないとその分IoUも上がる (自明). 実用に問題ないレベルで、どこまでクラス数をおさえ、パラメタを抑えるか.
Object Detection
- trialとしてretinanetを使用.
- reference見てると、姿勢推定に関するモデルもあった. これ、使えないかなあ
2. 自然言語処理
前処理について再度復習. 呼吸をするかのごとく、さっと前処理できるようにしたい. (クリーニング→正規化→形態素解析→基本形→ストップワードの除去...)
正規表現について学習
- 繰り返しの表現について、書き方はわかったが、どうしても「繰り返されている文字列を1回だけの記載に直す」方法が分からない.
思ったこと
- 睡眠は大事. 自分の場合、眠いと、「もうひと踏ん張り」ができなくなる.
- 共有されていない知識や発見は、積極的に発信しよう. そのためのWEB.