Amazon Personalize
開発者ガイド

HRNN レシピ

Amazon Personalize は、ユーザーの行動の変化をモデル化できる階層型リカレントニューラルネットワーク (HRNN) を実装しています。

ユーザーの意図や嗜好は時間の経過に伴って変化または流動するため、レコメンデーションシステムでは、一時的なモデリングが重要となります。この流動を従来のアプローチでモデル化することは困難です。たとえば、因数分解マシンの一般的なアプローチでは、遠隔インタラクション (時間で測定した距離) を処理するのに手動で減損関数を使用します。このような手動による重み付けは、非常に手間がかかり、不正確になりがちです。これに対して、Amazon Personalize の HRNN モデルでは、順序付けられたユーザー履歴を参照して、正しい推論を行うことができます。HRNN は、ゲート機構を使用して減損の重みをアイテムとタイムスタンプの学習可能な関数としてモデル化します。階層型コンポーネントにより、一時的なモデルの効率がさらに向上するため、精度が高くなります。

Amazon Personalize では、使用上の観点から、各ユーザー向けの特徴を指定されたデータセットから派生済みです。リアルタイムのデータ統合を完了している場合、これらの特徴はユーザーアクティビティに応じてリアルタイムで更新されます。したがって、推論時には user-id を指定するだけです。item-id も指定した場合、システムからエラーがスローされることはありませんが、この値は無視されるため、結果に影響を与えることはありません。

この事前定義済みレシピには以下のプロパティがあります。

  • 名前aws-hrnn

  • レシピ ARNarn:aws:personalize:::recipe/aws-hrnn

  • アルゴリズム ARNarn:aws:personalize:::algorithm/aws-hrnn

  • 機能変換 ARNarn:aws:personalize:::feature-transformation/JSON-percentile-filtering

  • レシピタイプUSER_PERSONALIZATION

次の表は、レシピで使用されるハイパーパラメータの一覧です。ハイパーパラメータごとに名前、デフォルト値、説明、および以下のプロパティがあります。

  • 範囲: [下限、上限]

  • 値のタイプ: 整数、連続 (浮動小数点)、カテゴリ別 (ブール値、リスト、文字列)

  • HPO 調整可能: パラメータがハイパーパラメータ最適化 (HPO) に参加できますか?

名前 デフォルト値 範囲 値の型 調整可能な HPO 説明
Algorithm
hidden_dimension 43 [32、256] integer はい モデルの非表示変数の数
bptt 32 [1、32] integer いいえ 通し時間のバックプロパゲーション。
recency_mask true true/false ブール値 はい

true: ユーザー動作の一時的変動のモデル。

false: すべての過去のやり取りを処理。

Featurization
min_user_history_length_percentile 0.0 [0.0, 1.0] 浮動小数点 いいえ モデルのトレーニングに含めるユーザー履歴の長さの最小パーセンタイル。履歴の長さとは、ユーザーが使用できるデータ量です。
max_user_history_length_percentile 0.99 [0.0, 1.0] 浮動小数点 いいえ

モデルのトレーニングに含めるユーザー履歴の長さの最大パーセンタイル。

たとえば、min_hist_length_percentile = 0.05 および max_hist_length_percentile = 0.95 には、履歴の長さに対して上位と下位 5 % を除くすべてのユーザーが含まれています。