2024年10月19日
- Pydanticの解説記事において,
model_validate()
にインスタンスを渡した場合は,内部でmodel_post_init()
が呼ばれないことを追記しました.
2024年10月04日
- 一部の記事に,A8.net による広告を導入しました.
- 上記の更新に伴い,プライバシーポリシーを更新しました.
- 下記の修正を受けて,実践手話認識 補足2も再実験を行いました.
また,前回の実験では観測できていた性能差が明確でなくなったため,文面を修正しました.
- 実践手話認識-モデル開発編2において,問題があるコードがあったため修正しました.
Conformer の Convolution ブロックでは,最初に Layer Normalization で正規化を行い,Convolution module 内部では Batch Normalization で正規化を行います.
旧コードでは,Convolution ブロック先頭と Convolution module で同じ正規化層を用いる実装になっていたため,個別に設定できるように修正し,再度実験を行いました.
なお,性能は大きく変わらなかったため文面は変えていません.
2024年9月24日
- Embedding 層と出力層の初期化処理を加えて,実践手話認識-モデル開発編4の再実験を行い,結果を更新しました.
学習初期の安定性が向上し,最終的な認識性能も向上しました.
2024年9月18日
- 全体のカテゴリ構成,および各記事のカテゴリを更新しました.
2024年9月17日-2
- 各記事のサイドバーに,関連記事へのリンクを追加しました.
- 各記事のタイトル,タブ,サマリを調整・更新しました.
2024年9月17日
- 各記事に,前の記事と次の記事へのリンクを追加しました.
- 細かなデザインを更新しました.
- 2024年9月14日の修正を反映したコードで,実践手話認識-モデル開発編4の再実験を行い,結果を更新しました.
途中で瞬間的に学習結果が悪くなる現象がありましたが,最終的には同程度以上の認識性能に落ち着きました.
2024年9月14日
- 実践手話認識-モデル開発編4において,問題があるコードがあったため修正しました.
本来は再実験も同時に行うべきですが,時間がかかるためコードの更新のみ先に行います.- テスト時の最大ループ数
max_seqlen
を 31 から 60 に変更しました.
正しくは<eos>
の分を含め 32 に設定すべきでした.
また,本来はテストデータの最大ラベル長は未知なので,学習時よりも大きい値を設定すべきと判断して,現在の値に変更しました. - 旧処理で最終ラベルの推論が行われないバグがあったっため,RNNCSLR の
forward()
メソッドを更新しました.
- テスト時の最大ループ数
# 【旧処理】
def forward(self,
feature, tokens,
feature_pad_mask=None, tokens_pad_mask=None):
"""Forward computation for train.
"""
enc_seqs, enc_hstate = self._apply_encoder(feature, feature_pad_mask)
# Apply decoder.
self.decoder.init_dec_hstate(enc_hstate)
dec_inputs = tokens[:, 0:1]
preds = None
for t_index in range(1, tokens.shape[-1]):
pred = self.decoder(
dec_inputs=dec_inputs,
enc_seqs=enc_seqs,
enc_mask=feature_pad_mask)
if preds is None:
preds = pred
else:
# `[N, T, C]`
preds = torch.cat([preds, pred], dim=1)
# Teacher forcing.
dec_inputs = tokens[:, t_index:t_index+1]
return preds
# 【新処理】
def forward(self,
feature, tokens,
feature_pad_mask=None, tokens_pad_mask=None):
"""Forward computation for train.
"""
enc_seqs, enc_hstate = self._apply_encoder(feature, feature_pad_mask)
# Apply decoder.
self.decoder.init_dec_hstate(enc_hstate)
preds = None
for t_index in range(0, tokens.shape[-1]):
# Teacher forcing.
dec_inputs = tokens[:, t_index].reshape([-1, 1])
pred = self.decoder(
dec_inputs=dec_inputs,
enc_seqs=enc_seqs,
enc_mask=feature_pad_mask)
if preds is None:
preds = pred
else:
# `[N, T, C]`
preds = torch.cat([preds, pred], dim=1)
return preds
2024年9月8日
- GASFデータセット解説記事において,HDF5ファイルをチャネルファースト形式で保存するように処理を修正しました.
2024年9月4日
- 手話認識入門-補足記事6において,Location-aware attention の説明に誤りがあったため,訂正致しました.
2024年9月1日
- Google サーチコンソールを導入しました.
- 上記の更新に伴い,プライバシーポリシーを更新しました.
2024年8月31日
- Google アドセンスを導入しました.
- 上記の更新に伴い,プライバシーポリシーを更新しました.
2024年8月17日
- 各記事に目次を追加しました.
- 細かなデザインを更新しました.
- 参考文献の形式を更新しました.
2024年8月15日
- Pre-LN構成の Transformer ブロック図に誤りがありましたので,修正しました.
- 修正内容: 手話認識入門9 図1(c) の PFFN ブロック周りで Residual Connection のパスが誤っていたので修正しました.
- 修正内容: 手話認識入門-補足記事10 図3(b) の PFFN ブロック周りで Residual Connection のパスが誤っていたので修正しました.
2024年8月14日
- 特集ページ「作りながら学ぶ手話認識」を追加しました.
- 各記事にサムネイル画像を追加しました.
- 細かなデザインを更新しました.
2024年8月5日
- 手話認識入門-補足記事8の,各正規化層の効果および課題に関する表現と説明を更新しました.
2024年7月23日
- 「手話認識入門」の記事前半部 (記事全体の説明部) の構成を見直しました.
- いくつかの記事で,記事前半と記事終盤で2度実験結果を示していましたが,冗長と判断して記事終盤の実験結果を削除しました.
-
手話認識入門15の実験結果を更新しました.
- 修正内容: 以前は1種類のノイズ付加設定で実験結果を示していましたが,設定値の種類を増やして実験結果を更新しました.
- 修正1: 手話認識入門15の図4を削除して,新しく図4から図9を追加しました.
- 修正2: 実験結果の更新に併せて第1.3項の文章とコード解説 (第4説) を修正しました.
(長いので詳細は割愛します)
2024年7月20日
- タイトルの「【コード解説・〇〇】」が冗長だと感じたので,タグに移動しタイトルからは削除しました.
-
一部の実験コードにバグがあったため,再実験をし記事を修正しました.
- バグ内容: 手話認識入門の「全単語を用いた認識評価」でテスト時にデータ拡張が適用されていました.
- 修正1: 手話認識入門16の第1.3項 図6を差し替えました.
また,実験結果の更新に併せて文章を修正しました.
【旧記事】
D-Joints, D-Temporal, D-Spatial-O に関しては,認識性能がやや悪化していますが,微妙な差ですのでパラメータ次第では結果が変わるかもしれません.
一方,D-Spatial-Wでは大きく認識性能が悪化するという結果になりました.
D-Spatial-Wでは,座標空間の外縁部がマスキングされやすい傾向があります.
10単語の場合は性能が保てていたことを考えると,追加した単語の中に外縁部のマスキングが影響されやすい単語が多く含まれていた可能性があります.【新記事】
D-Joints, D-Temporal, D-Spatial に関しては,認識性能が変わらないまたはやや悪化していますが,微妙な差ですのでパラメータ次第では結果が変わるかもしれません.
こちらは,結論に影響が出るような変化がありませんでしたので,文章はそのままです.
2024年7月7日
- 細かなデザインを更新しました.
- ヘッダ領域にTag一覧と更新履歴のリンクを追加しました.
2023年12月8日
- Google Adsense を追加しました.
- 細かなデザインを更新しました.
2023年10月5日
- サイドバー領域に月別アーカイブを追加しました.
2023年6月20日
- Webサイトを新規開設しました.