クラウドソーシング プラットフォームでのタスク調整のためのエンドツーエンドのディープ RL フレームワーク
序文
ICDE 2020 の作品で、深層強化学習手法をクラウドソーシング プラットフォームにより適切に適用してプラットフォームの利点を最大化する方法についての記事です。問題を解決するための記事のアイデアは学ぶ価値がありますが、手法はまだ単純すぎて多くの改善点があります。また、実験的な部分も議論の対象となります。
論文: https://arxiv.org/pdf/1911.01030.pdf
コード:オープンソースではありません。https: //github.com/JasonZhujp/RL-Crowdsourcingを参照してください。
概要
この論文はタスク指向の深層強化学習フレームワークを提案します. これまでの研究は教師あり学習手法に基づいていますが, ワーカーまたはリクエストを個別に考慮するだけであり, 動的環境を扱うことができません. この論文で設計された DQN ネットワークは、現在と将来の報酬の両方を考慮して、推奨タスクの予想される長期的な利益を推定でき、リアルタイムで更新できます。さらに、2 つの DQN ネットワークは、ワーカーとリクエスターの利点を同時に取得して、プラットフォームの利点を最大化するように設計されています。
I.はじめに
クラウドソーシングのタスクでは、依頼者がまずタスクを公開して報酬を与え、ワーカーが到着すると、プラットフォームがオプションのタスクのリストを表示し、タスクが一定の基準に従って分類されます。最後に、ワーカーはタスクを 1 つだけ選択できます。
上の図は、タスクの単純な並べ替えを示しています。利用可能なタスクが多数あるため、手動でタスクを選択するのは面倒であるため、パーソナライズされた推奨事項を実現するために、KNN 分類や確率行列分解などのいくつかの教師あり学習タスクが提案されています。ただし、これらの方法ではワーカーとリクエスタを別々に考慮しているだけであるため、一部のタスクが完了しなかったままになったり、タスクの配分が不公平になったりするため、両者の間のトレードオフが必要になります。さらに、環境は労働者の好みやタスクの品質と同様に動的に変化しますが、教師あり学習ではそのような変化を更新できず、推奨タスクに対する長期的な報酬が無視されるため、最適とはいえない結果が得られます。
上記の問題に対処するために、著者らは、環境 (ワーカーとリクエスター) とエージェント (プラットフォーム) の間の相互作用を MDP としてモデル化する、タスク割り当てのための深層強化学習アーキテクチャを提案します。著者らは DQN を適用してニューラル ネットワークをトレーニングし、各タスクの推奨に対する報酬を推定します。報酬は各作業者のフィードバックに基づいてリアルタイムで更新できます。
ただし、DQN はユーザーとアイテム間の関係をモデル化するだけであり、このペーパーのタスクでは、利用可能なすべてのタスク間の関係も考慮する必要があります。環境の情報を取得するために、ワーカーの機能と現在のタスクを組み合わせる新しい表現方法と、不確実なサイズと順列不変性の機能を持つ利用可能なタスクのセットを処理する特定の Q ネットワークを設計します。
さらに、ワーカーとリクエスターには異なる利益目標があるため、2 つの個別の MDP を設計する必要があります。このため、著者は 2 つの DQN ネットワークを設計して 2 つの利益をモデル化し、最終的に 2 つの組み合わせ (妥協点に相当) を設計しました。両者の利益の間)。
このプロジェクトでは、DNQ ネットワークは状態遷移行列がまばらであるという問題にも直面しています。これにより、遷移確率が不確実になり、収束が遅くなります。この問題に対処するために、著者らは作業者のフィードバックを得た後に Q 値方程式を修正し、遷移行列と将来の状態を明示的に予測しました。
この論文の貢献は次のとおりです。
- この論文は、クラウドソーシング プラットフォームへの深層強化学習の適用を初めて提案したものです。
- DQN を適用して当面および将来の報酬を処理すると、長期的にはワーカーとリクエスターの目標が最適化されます。
- Q 値を計算するための方程式を修正し、遷移確率と将来の状態を明示的に予測する新しい状態表現が考案されました。
II. 問題文
A. 問題の定義
タスクの目的は、新入社員に推奨タスクのリストを提供し、タスクを割り当てることです。
B. 民主党としての問題形成
2 つの MDP を定義します。
民主党(w)
ワーカーの MDP は、各タイムスタンプ{ 1 , 2 , . . . , i } \{1,2,...,i\}で次のように考慮されます。{ 1 、2 、... 、i},一个工人 w i w_i w私は到着すると、リクエスターによってリリースされた一連の利用可能なタスク{ Ti } \{T_i\}が存在します。{ T私は}。
- 状態si s_is私はwi w_iとして定義されますw私は最新の完了履歴、つまり状態の表現はworker wi w_iですw私は的特征, f s i = f w i f_{s_i}=f_{w_i} fs私は=fw私は。
- アクションai a_iある私は即向 w i w_i w私は利用可能なタスクを提供します。タスクの推奨と一連の並べ替えタスクの推奨には違いがあります。
- 奖励 r i r_i r私は状態とアクションのペアによって決定されます。ri = 1 r_i=1r私は=1说明 w i w_i w私はタスクを完了します。それ以外の場合はwi = 0 w_i=0w私は=0。
- 同じ従業員が仕事をしているときw私は到着、将来の状態si + 1 s_{i+1}s私+ 1起こる。ri = 1の場合r_i=1r私は=1、ワーカーの特徴fwi f_{w_i}fw私はfsi + 1 f_{s_{i+1}}に更新しますfs私+ 1。
- 转移P r ( si + 1 ∣ si , ai , ri ) Pr(s_{i+1}|s_i,a_i,r_i)P r ( s私+ 1∣ s私は、ある私は、r私は)はsi s_iから導出されます。s私はsi + 1 s_{i+1}に転送s私+ 1の確率は、wi w_iに依存しますw私は完成任务 a i a_i ある私は報酬。
- 割引係数γ ∈ [ 0 , 1 ] \gamma \in [0,1]c∈[ 0 ,1 ] は、将来の報酬が当面の報酬に対してどれだけ重要であるかを決定します。
世界的な目標は、従業員の累積完了率を最大化することです。
MDP®
要求者の MDP が異なります。
- fsi = [ fwi , f Ti , qwi , q Ti ] f_{s_i}=[f_{w_i},f_{T_i},q_{w_i},q_{T_i}]fs私は=[ fw私は、fT私は、qw私は、qT私は]。
- あいあいある私はMDP(w)と同じ。
- 奖励 r i r_i r私は由 ( s i , a i ) (s_i, a_i) ( s私は、ある私は)决定。 r i r_i r私は是工人 w i w_i w私はミッションを完了すると大量のバフが得られます。
- 转移P r ( si + 1 ∣ si , ai , ri ) Pr(s_{i+1}|s_i,a_i,r_i)P r ( s私+ 1∣ s私は、ある私は、r私は) wi w_iに依存しますw私はタスクを完了することによる成功率と品質の向上。
- 割引率はMDP(w)と同じです。
全体的な目標は、タスクの累積質量増加を最大化することです。
述べる
ワーカーの利益を最大化するには、ワーカーとタスク、および利用可能なすべてのタスクの間の関係を調査する必要があるため、MDP® の状態はワーカーと現在利用可能なタスクで構成されます。2 つの MDP の状態定義を統合するには、MDP(w) の代わりに MDP® を使用します。これは、これらの MDP には包含関係があるためです。
C. RL と Deep Q-Network
1) Qラーニング
Q-Learing は、最適な戦略を取得するために 2 セットの値関数を定義する、値関数ベースのモデルフリーの強化学習アルゴリズムです。V π ( s ) V^{\pi}(s)Vπ (s)を不変とし、V π ( s ) = E [ ∑ i = 0 inf γ iri ∣ s 0 = s , π ] V^{\pi}(s)=\mathbb{E}\left とします。 [ \sum_{i=0}^{\mathrm{inf}} \gamma ^ir_i | s_0 = s, \pi\right]Vπ (秒)=E[ ∑i = 0情報cそしてr私は∣ s0=、_π ]は、状態とポリシーを考慮した場合の期待される報酬です。同様に、Q 値関数Q π ( s , a ) Q^{\pi}(s,a)Qπ (s,a ) は、特定の状態とアクションで期待される報酬です。ここで、Q π ( s , a ) = E [ ∑ i = 0 inf γ iri ∣ s 0 = s , a 0 = a , π ] Q^{\pi } (s,a)=\mathbb{E}\left [ \sum_{i=0}^{\mathrm{inf}} \gamma ^ir_i | s_0 = s, a_0=a,\pi\right ]Qπ (s,)_=E[ ∑i = 0情報cそしてr私は∣ s0=、_ある0=、_π ]。
Bellman 方程式に基づく、最適な Q 値関数Q ∗ ( s , a ) Q^{*}(s,a)Q∗ (s,a )における最優先の戦略略以下:
Q ∗ ( si , ai ) = E i + 1 [ ri + γ maxa ' Q ∗ ( si + 1 , a ' ) ∣ si , ai ] Q^{*}(s_i ,a_i)=\mathbb{E}_{i+1}\left [ r_i+ \gamma \mathrm{max}_{a'} Q^{*}(s_{i+1},a')| s_i,a_i\right ]Q∗ (s私は、ある私は)=E私+ 1[ r私は+γmax _ある「Q∗ (s私+ 1、ある' )∣s私は、ある私は]
各状態で最大の Q( s , a )Q ( s ,a)的动作 a i a_i ある私はQ ( si , ai ) Q(s_i,a_i) を反復的に学習するにはQ ( s私は、ある私は次の更新: Q
( si , ai ) ← ( 1 − α ) Q ( si , ai ) + α ( ri + γ maxa ' Q ( si + 1 , a ' ) ) Q(s_i,a_i)\gets( 1-\alpha)Q(s_i,a_i)+\alpha(r_i+\gamma \mathrm{max}_{a'} Q(s_{i+1},a'))Q ( s私は、ある私は)←( 1−a ) Q ( s私は、ある私は)+a ( r私は+γmax _ある「Q ( s私+ 1、ある' ))
ここで、α ∈ [ 0 , 1 ] \alpha \in [0,1]ある∈[ 0 ,1 ]は学習率です。
2) ディープ Q ネットワーク
状態および動作空間は巨大で保存できないため、一般的な方法はフィッティングに高度に非線形の関数、つまりQ ∗ ( si , ai ) ≈ Q ( s , a ; θ ) Q^{*} を使用することです。 (s_i,a_i) \およそ Q(s,a;\θ)Q∗ (s私は、ある私は)≈Q ( s ,; _θ )であるため、DQN はθ \thetaのパラメーターを使用することを提案します。θのニューラル ネットワークはQ ネットワークとして機能します。次のように平均二乗損失関数を最小化することで学習します。
L ( θ ) = E { ( si , ai , ri , si + 1 ) } [ ( yi − Q ( si , ai ; θ ) ) 2 ] yi = ri + γ max ai + 1 Q ( si + 1 , ai + 1 ; θ ) \begin{aligned} L(\theta) & =\mathbb{E}_{\left\{\left(s_i, a_i, r_i, s_ {i+1}\right)\right\}}\left[\left(y_i-Q\left(s_i, a_i ; \theta\right)\right)^2\right] \\ y_i & = r_i+\gamma \max _{a_{i+1}} Q\left(s_{i+1}, a_{i+1} ; \theta\right) \end{aligned}L ( i )y私は=E{
( s私は、_私は、r私は、s私+ 1) }[ ( y私は−Q( s私は、ある私は;私))2 ]=r私は+cある私+ 1マックスQ( s私+ 1、ある私+ 1;私)。
其中 { ( s i , a i , r i , s i + 1 ) } \{(s_i, a_i, r_i, s_{i+1})\} {( s私は、ある私は、r私は、s私+ 1)} は、時間順にソートされた大規模なメモリ バッファに保存された履歴データであり、損失関数を導出することで、勾配の更新は次のように記述できます。 ∇ θ
L ( θ ) = E { ( si , ai , ri , si + 1 ) } [ ( ri + γ max ai + 1 Q ( si + 1 , ai + 1 ; θ ) − Q ( si , ai ∣ θ ) ) ∇ θ Q ( si , ai ∣ θ ) ] \begin{aligned} \ nabla_\theta L(\theta)= & \mathbb{E}_{\left\{\left(s_i, a_i, r_i, s_{i+1}\right)\right\}}\left[\left ( r_i+\gamma \max _{a_{i+1}} Q\left(s_{i+1}, a_{i+1} ; \theta\right)-Q\left(s_i, a_i \mid \theta \ right)\right) \nabla_\theta Q\left(s_i, a_i \mid \theta\right)\right] \end{aligned}∇私L ( i )=E{
( s私は、_私は、r私は、s私+ 1) }[ ( r私は+cある私+ 1マックスQ( s私+ 1、ある私+ 1;私)−Q( s私は、ある私は∣私))∇私Q( s私は、ある私は∣(i ) ] 。
Ⅲ.概要
上の図はフレームワーク全体を示しており、状態表現にはw_i を持つワーカーが含まれています。w私はそして、利用可能なタスク セットを、状態 Transformer に入力して取得します。つまり、fsi = State Transformer [ fwi , f Ti ] f_{s_i}=StateTransformer[f_{w_i}, f_{T_i}]fs私は=州立トランスフォーマー[ f _ _ _ _ _ _ _ _ _ _w私は、fT私は]。
次に、fsi f_{s_i}fs私は2 つの深い Q ネットワーク、Q-network(w) と Q-network® に入力します。これらは、それぞれワーカーとリクエスターのペイオフを考慮します。著者はアグリゲーターとバランサーを使用して 2 つのペイオフを結合し、w_iに与えられる最終的なアクションを生成します。w私は。
従業員にタスクが割り当てられると、そのタスクを完了するかスキップするかを選択できます。作業者が一連のタスクを見た場合、作業者はカスケード モデルに従ってタスクのリストを参照し、関心のある最初のタスクを完了すると想定します。フィードバックは、完了したタスクと未完了の推奨タスクです。
MDP(w) と MDP® では報酬の定義が異なるため、2 つのフィードバック トランスフォーマーを使用して従業員のフィードバックを定量化します。過去のデータ統計に基づいて、2 つの将来状態予測子がそれぞれ Q-Network(w) と Q-Network® に使用されます。
アクションがタスクを割り当てることである場合は、遷移( si , ai , ri , si + 1 ) (s_i,a_i,r_i,s_{i+1}) を保存します。( s私は、ある私は、r私は、s私+ 1)を収納スペースに入れます。アクションが提案されたタスクのリストである場合、フィードバックには完了したタスクと未完了の提案されたタスクが含まれます。この時点で成功した転送を保存します( si , ai , ri , si + 1 ) (s_i,a_i,r_i,s_{i+1})( s私は、ある私は、r私は、s私+ 1)および失敗した遷移( si , a_i , 0 , si + 1 ) (s_i,a_i,0,s_{i+1})( s私は、ある私は、0 、s私+ 1),二者的 a i a_i ある私は違う。2 つの Q ネットワークは、最適な戦略を取得するためにストレージが転送されるたびに更新されます。
IV. MDP(W)用モジュール
A. 機能の構築
タスクtj t_jtj**特徴: **クラウドソーシング シナリオにおける上位 3 つの動機は、報酬、タスクの自律性、スキルの多様性であるため、機能には報酬、カテゴリ、および分野が採用されています。ワンホット エンコーディングを使用してカテゴリとドメインを変換します。次に、これら 3 つが連結されて、タスクの特徴ベクトルが取得されます。
労働者wj w_jwj** 特徴: ** ワーカーが最後に完了したタスクによって決定されます。
B. ステートトランスフォーマーと Q ネットワーク
1) 課題
タスクは動的であり、数を決定するのが難しく、モデル化されたモデルは順列不変 (順列不変)、つまりタスクの順序の影響を受けない必要があるため、利用可能なタスクを特徴付けるのは困難です。
一部の DQN ベースのメソッドでは、タスクとワーカーを個別にモデル化しますが、利用可能なすべてのタスク間の関係は無視されます。実際、タスクは影響力を求めて互いに競合します。したがって、利用可能なタスクに合わせて新しい表現を設計する必要があります。
2) デザイン
著者が設計した状態 Transformer と Q ネットワークを上に示します。まず、使用可能なすべてのタスクとワーカーの機能を連結し、ゼロ パディングで埋められない最大長を設定します。次に、線形層とマルチヘッド アテンション メカニズムへの入力はfsi f_{s_i}を表します。fs私はこれは Q 値にマッピングされ、順列の不変性を保証します。線形層は次のように計算されます:
r FF ( X ) = relu ( XW + b ) \mathrm{rFF}(X)=\mathrm{relu}(XW+b)rFF ( X )=電車( X W+b )
注目層の構造は図 4 に示されており、その入力は 3 つの行列X 1 、X 2 、X 3 X_1、X_2、X_3バツ1、バツ2、バツ3,計算:
A tt ( X 1 , X 2 , X 3 ) = Softmax ( X 1 X 2 T d X 3 ) \mathrm{Att}(X_1,X_2,X_3)=\mathrm{softmax}(\frac{X_1X_2) ^{T}}{\sqrt{d}}X_3)それ( X1、バツ2、バツ3)=ソフトマックス(dバツ1バツ2Tバツ3)
マルチヘッド アテンション レイヤーは 3 つの行列をhhhの異なる行列。出力は、すべてのアテンション出力を連結した線形変換です。
MultiHead ( X 1 , X 2 , X 3 ) = Concat ( head 1 , … , head h ) WO where head i = Att ( X 1 W i X 1 , X 2 W i X 2 , X 3 W i X 3 ) \begin{aligned} & \operatorname{MultiHead}\left(X_1, X_2, X_3\right)=\operatorname{Concat}\left(\text { head }_1, \ldots, \text { head }_h \right) W^O \\ & \text { where head }_i=\operatorname{Att}\left(X_1 W_i^{X_1}, X_2 W_i^{X_2}, X_3 W_i^{X_3}\right) \\ & \end{整列}マルチヘッド( X1、バツ2、バツ3)=連結( 頭 1、…、 頭 ふ)W○ 頭はどこ 私は=に( X1W私バツ1、バツ2W私バツ2、バツ3W私バツ3)
付録には、線形層と多頭自己注意層の順列が不変であるという証明が含まれています。
次にQネットワークの設計です。入力fsi f_{s_i}fs私はタスクtj t_jですtj和工人 w i w_i w私は最初の 2 つの rFF 層は、タスク ワーカーの特徴を高次元の特徴に変換するために使用され、次にマルチヘッド アテンション メカニズムを使用して、異なるタスク ワーカーの特徴のペアごとの相互作用を計算します。rFF 層は、ネットワークの維持に役立ちます。安定しています。続いてセルフアテンション層の別の層が続き、最後の rFF 層は各要素の特徴を値に還元し、これを使用して Q ( si , tj ) Q(s_i,t_j)を表します。Q ( s私は、tj)。順列不変性により、ti t_it私はQ ( si , tj ) Q(s_i,t_j) の順序Q ( s私は、tj)は変わりません。
C. アクション A、フィードバックと報酬 R
報酬主導型の労働者は、単位時間あたりのタスクに対して高い報酬を得ることを目指しますが、興味主導型の労働者は、自分の興味に合ったタスクを完了したいと考えます。このペーパーの課題は、さまざまなタイプの作業者に必要なものを実行させ、推奨されたタスクの完了率を最大化することです。
プラットフォームがタスクを割り当てる場合は、ai = ti a_i=t_iを選択します。ある私は=t私は满足Q ( si , ti ) Q(s_i,t_i)Q ( s私は、t私は)。著者は、ワーカーがカスケード モデルに従ってタスク リストを表示すると想定しているため、プラットフォームによって推奨されるタスクはQ ( si , ti ) Q(s_i,t_i)Q ( s私は、t私は)タスクのリストを降順に並べ替えます。
フィードバックと報酬については、アクションが単一のタスクの場合、選択は 1、拒否は 0 です。アクションが k 個のタスクのリストの場合、報酬は完了したタスクの場合は 1、残りのタスクの場合は 0 です。
D. 将来の状態、記憶保存者、および学習者
1) 課題
次の状態si + 1 s_{i+1}s私+ 1w_{i}と同じ労働者ですw私は再び来るタイムスタンプ。したがって、ri r_{i}を受け取りますr私はと将来の状態si + 1 s_{i+1}s私+ 1Q のタイムスタンプは異なり、ワーカーが再び来るまでに長い時間がかかる可能性がありますが、Q ネットワーク内のパラメータはすべてのワーカーによって共有されるため、新しい更新によりパフォーマンスが低下する可能性があります。したがって、著者は、 ( si , ai ) (s_i,a_i)
を取得することにより、予測器 (w) を設計しました。( s私は、ある私は)遷移確率を予測するためのフィードバックと報酬P r ( si + 1 ∣ si , ai , ri ) Pr(s_{i+1}|s_i,a_i,r_i)P r ( s私+ 1∣ s私は、ある私は、r私は)と将来の状態fsi + 1 f_{s_{i+1}}fs私+ 1。これにより、フレームワークはオンライン変更とリアルタイム対話の要件を満たすことができます。
2) デザイン
まず、すべてのワーカー機能はri r_iで指定する必要があります。r私は更新します。
2番目、T i T_iT私は和 T i + 1 T_{i+1} T私+ 1変更のほとんどは、完了したタスクから発生します。
時間 + 1 \mathrm{時間}_{i+1}時間私+ 1は確率的であり、その分布を環境から学習する必要があります。過去のデータによると、次の図に示すように、同じ作業者の到着にはパターンがあることがわかります。
作業者は、短期間または 1 ~ 2 日後に再び来ることがわかります。後で。このパターンを捉えるために、著者らは関数ϕ ( g ) \phi(g)を維持します。ϕ ( g )、ここでgggは時間ギャップであり、ϕ ( g = C 現在時刻 − 最終到着時刻 w ) \phi(g=\mathrm{CurrentTime-TimeOfLastArrival}_w)ϕ ( g=現在の時刻−最終到着時刻w)は労働者ですww現在wが再び来る確率。g の範囲が設定されている場合、g ∈ [ 1 , 10080 ] g \in [1, 10080]g∈[ 1 、10080 ]、範囲外は無視されます。ϕ ( g ) \phi(g)ϕ ( g )は履歴データによって初期化され、新しいサンプルに基づいて反復的に更新されます。
最終時間 + 1 \mathrm{時間}_{i+1}時間私+ 1Timei + ϕ ( g ) \mathrm{Time}_{i}+\phi(g)の分布時間私は+ϕ ( g )。
学習者はメモリに保存された転送を通じて Q ネットワークのパラメーターを更新します。損失関数は次のように記述できます。
L ( θ ) = E { ( si , ai , ri ) } [ ( yi − Q ( si , ai ; θ ) ) 2 ] yi = ri + γ ∑ g Pr ( si + 1 ∣ g ) max ai + 1 Q ( si + 1 , ai + 1 ; θ ) \begin{aligned} L(\theta) & = \mathbb{E} _{\left\{\left(s_i, a_i, r_i\right)\right\}}\left[\left(y_i-Q\left(s_i, a_i ; \theta\right)\right )^2\right ] \\ y_i & =r_i+\gamma \sum_g \operatorname{Pr}\left(s_{i+1} \mid g\right) \max _{a_{i+1}} Q\left (s_{i+ 1}, a_{i+1} ; \theta\right) \end{aligned}L ( i )y私は=E{
( s私は、_私は、r私は) }[ ( y私は−Q( s私は、ある私は;私))2 ]=r私は+cg∑広報( s私+ 1∣g )ある私+ 1マックスQ( s私+ 1、ある私+ 1;私)。
その中Pr ( si + 1 ∣ g ) = ϕ ( g ) \operatorname{Pr}\left(s_{i+1} \mid g\right) =\phi(g)広報( s私+ 1∣g )=ϕ ( g )。実際のところ、max ai + 1 Q ( si + 1 , ai + 1 ; θ ) \max _{a_{i+1}} Q\left(s_{i+1}, a_{i +1} ; \theta\right)最大ある私+ 1Q( s私+ 1、ある私+ 1;θ ) はg ごとに計算する必要はありません。この値はタスクの有効期限が切れると変化するため、T max_Tマ×T二流。
ここで著者は、Q 値の過大評価を防ぐために DDQN アルゴリズムも使用しています。つまり、同じ構造QQを持つ 2 つの Q ネットワークです。Q和Q ~ \チルダ{Q}Q~,评估動作の式子例:
yi = ri + γ ∑ g Pr ( si + 1 ∣ g ) Q ~ ( si + 1 , arg max ai + 1 Q ( si + 1 , ai + 1 ∣ θ ) ∣ θ ~ ) y_i=r_i+\gamma \sum_g \operatorname{Pr}\left(s_{i+1} \mid g\right) \widetilde{Q}\left(s_{i+1}, \arg \max _{a_{i+1}} Q\left(s_{i+1}, a_{i+1} \mid \theta\right) \mid \widetilde{\theta}\right)y私は=r私は+c∑g広報( s私+ 1∣g )Q
( s私+ 1、arg _最大ある私+ 1Q( s私+ 1、ある私+ 1∣私)∣私
)
勾配の下降は次のように記述できます:
∇ θ L ( θ ) = E { ( si , ai , ri ) } [ ri + γ ∑ g Pr ( si + 1 ∣ g ) Q ~ ( si + 1 , arg max ai + 1 Q ( si + 1 , ai + 1 ∣ θ ) ∣ θ ~ ) − Q ( si , ai ) ] ∇ θ Q ( si , ai ) \begin{aligned} & \nabla_\theta L(\theta) =\mathbb{E}_{\left\{\left(s_i, a_i, r_i\right)\right\}}\left[r_i+\gamma \sum_g \operatorname{Pr}\left(s_{i+1} \mid g\right)\right。\\ & \left.\quad \widetilde{Q}\left(s_{i+1}, \arg \max _{a_{i+1}} Q\left(s_{i+1}, a_{i +1} \mid \theta\right) \mid \widetilde{\theta}\right)-Q\left(s_i, a_i\right)\right] \nabla_\theta Q\left(s_i, a_i\right) \終わり{整列}∇私L ( i )=E{
( s私は、_私は、r私は) }[ r私は+cg∑広報( s私+ 1∣g )Q
( s私+ 1、arg _ある私+ 1マックスQ( s私+ 1、ある私+ 1∣私)∣私
)−Q( s私は、ある私は) ]∇私Q( s私は、ある私は)
V. MDP® 用モジュール
A. 機能の構築
著者らはまた、ワーカーとタスクの質を利用して、要求者の報酬を予測します。Dixit-Stiglitz 優先モデルを使用して、副作用に応じてタスクqtj q_{t_j}の品質を計算します。qtjつまり、完了したタスクの数が増えるにつれて、タスクの品質の変化は少なくなります。
qtj = ( ∑ i ∈ I tj ( qwi ) p ) 1 / p 、 p ≥ 1。 q_{t_j}= (\ sum_{i \in I_{t_j}}(q_{w_i})^p)^{1/p}, p \ge1.qtj=( ∑私∈私tj( qw私は)p )1/ p、p≥1.
ここで、p は増加の限界効用を制御します。
B. ステートトランスフォーマーと Q ネットワーク
状態 Transformer は Q ネットワークおよび W モジュールと同じですが、2 次元のみです ( qwi q_{w_i}qw私はそしてqtj q_{t_j}qtj) が入力に追加されます。
C. アクション A、フィードバックと報酬 R
アクションは前と同じです。タスクを割り当てる場合は、Q r ( si , ti ) Q_r(s_i,t_i) を最大化することを選択します。Qr( s私は、t私は)、リストを推奨する場合、リストはQ r ( si , ti ) Q_r(s_i,t_i)Qr( s私は、t私は)サイズごとに並べ替えます。依頼者の観点から見ると、目標はタスクの期限内にできるだけ高品質の結果を得ることです。
D. 将来の状態、記憶保存者および学習者
1) 課題
MDP(w) とは異なり、MDP® では次の作業者が早く到着します。しかし、著者は、実際のワーカーを使用するとwi + 1 w_{i+1} になることに気づきました。w私+ 1和 T i + 1 T_{i+1} T私+ 1状態si + 1 s_{i+1}を結合するにはs私+ 1の場合、DQNは集まりにくくなります。次のワーカーが変化すると、さまざまな状態と遷移行列がまばらになり、遷移の確率と収束が不確実になります。したがって、Q-network® は、実際の次のワーカーではなく、次のワーカーの期待を使用してトレーニングされます。
2) デザイン
得到 ( s i , a i ) (s_i,a_i) ( s私は、ある私は)フィードバックと報酬、最初にワーカーの機能fwi f_{w_i}fw私は、完了したタスク機能の品質の更新に加えて、タスクの品質はすべてのワーカーの影響を受けます。将来の状態予測機能は、次のタイムスタンプを推定し、期限を過ぎたタスクをチェックするだけでなく、次のワーカーを予測する必要もあります。最初にTimei + 1 Time_{i+1}
を予測する方法を説明します。時間_ _私+ 1。
上の図は、2 つの連続した到着間の時間間隔の分布を示しています。これはロングテール分布を満たしています。これは、作業者がタスクを完了するために頻繁にプラットフォームに到着することを意味します。さらに、著者は関数φ ( g ) \varphi(g)を維持します。φ ( g )、 g は Q-network(w) と同じで、時間間隔を表します、φ ( g ) \varphi(g)φ ( g ) は、次の作業者が時間間隔 g で到着する確率を表します。φ ( g ) \varphi(g)φ ( g )も履歴データに基づいて構築され、新しいサンプルの到着に応じて繰り返し更新されます。時間 + 1 時間
を知る時間_ _私+ 1その後、入ってくる労働者の分布を計算できます。現在ワーカーfw f_wの特徴がわかっていますfw、現在のワーカーの時間ギャップϕ ( gw ) \phi(g_w)ϕ ( gw)、著者は古い労働者の特徴を新しい労働者を表すために使用します。最後に、次のワーカーを正規化して積分して確率を取得します。
Pr ( wi + 1 = w ) = { ( 1 − p new ) ϕ ( gw ) ∑ w ′ ∈ W old ϕ ( gw ′ ) when w ∈ W old w が new の場合、p new \operatorname{Pr}\left(w_{i+1}=w\right)= \begin{cases}\left(1-p_{\text {new }}\right) \ frac{ \phi\left(g_w\right)}{\sum_{w^{\prime} \in W^{\text {old }}} \phi\left(g_{w^{\prime}}\right )} & \text { when } w \in W^{\text {old }} \\ p_{\text {new }} & \text { when } w \text { is new }\end{cases}広報( w私+ 1=w)={
( 1−p新しい )∑w∈ W_古い ϕ ( gw「)ϕ ( gw)p新しい いつ w∈W年 w が 新しい とき
ggを与えられたg和 w i + 1 w_{i+1} w私+ 1、T i + 1 T_{i+1}を計算します。T私+ 1和 s i + 1 s_{i+1} s私+ 1,学習者 ( r ) について学習者 (r)l ear n er ( r ),我们的损失関数数写:L ( θ ) = E { ( si , ai , ri ) } [ ( yi − Q ( si , ai ; θ ) ) 2 ] yi = ri
+ γ ∑ g ∑ wi + 1 Pr ( si + 1 ∣ g , wi + 1 ) Q ~ ( si + 1 , arg max ai + 1 Q ( si + 1 , ai + 1 ∣ θ ) ∣ θ ~ ) \begin{aligned} L(\theta) & =\mathbb{E}_{\left\{\left(s_{i}, a_{i}, r_{i}\right)\right\}}\ left[\left(y_{i}-Q\left(s_{i}, a_{i} ; \theta\right)\right)^{2}\right] \\ y_{i} & =r_{i }+\gamma \sum_{g} \sum_{w_{i+1}} \operatorname{Pr}\left(s_{i+1} \mid g, w_{i+1}\right) \widetilde{Q }\left(s_{i+1}, \arg \max _{a_{i+1}} Q\left(s_{i+1}, a_{i+1} \mid \theta\right) \mid \widetilde{\theta}\right) \end{aligned}L ( i )y私は=E{
( s私は、_私は、r私は) }[ ( y私は−Q( s私は、ある私は;私))2 ]=r私は+cg∑w私+ 1∑広報( s私+ 1∣g 、w私+ 1)Q
( s私+ 1、arg _ある私+ 1マックスQ( s私+ 1、ある私+ 1∣私)∣私
)
ただし、P r ( si + 1 ∣ g , wi + 1 ) = φ ( g ) P r ( wi + 1 ∣ g ) Pr\left(s_{i+1} \mid g, w_{i+1}\right) )=\varphi(g)Pr(w_{i+1}|g)Pr _( s私+ 1∣g 、w私+ 1)=φ ( g ) Pr ( w )私+ 1∣ g )に対応する、勾配は次のようになります:
∇ θ L ( θ ) = E { ( si , ai , ri ) } [ ri + γ ∑ g ∑ wi + 1 Pr ( si + 1 ∣ g , wi + 1 ) Q ~ ( si + 1 , arg max ai + 1 Q ( si + 1 , ai + 1 ∣ θ ) ∣ θ ~ ) − Q ( si , ai ) ] ∇ θ Q ( si , ai ) \begin{ aligned} & \nabla_\theta L(\theta)=\mathbb{E}_{\left\{\left(s_i, a_i, r_i\right)\right\}}\left[r_i+\gamma \sum_g\sum_ {w_{i+1}} \operatorname{Pr}\left(s_{i+1} \mid g, w_{i+1}\right)\right。\\ & \left.\quad \widetilde{Q}\left(s_{i+1}, \arg \max _{a_{i+1}} Q\left(s_{i+1}, a_{i +1} \mid \theta\right) \mid \widetilde{\theta}\right)-Q\left(s_i, a_i\right)\right] \nabla_\theta Q\left(s_i, a_i\right) \終わり{整列}∇私L ( i )=E{
( s私は、_私は、r私は) }[ r私は+cg∑w私+ 1∑広報( s私+ 1∣g 、w私+ 1)Q
( s私+ 1、arg _ある私+ 1マックスQ( s私+ 1、ある私+ 1∣私)∣私
)−Q( s私は、ある私は) ]∇私Q( s私は、ある私は)
でもすべてのggを数えてみるとg和 w i + 1 w_{i+1} w私+ 1可能な Q 値の計算には時間がかかります。高速化するには 2 つの方法があります。1 つの方法は、可能なワーカーの数を制限し、発生確率の低いワーカーを除外することです。もう 1 つのアプローチは、考えられるすべてのワーカーの機能期待値を計算する代わりに使用することです。次のワーカーの特徴期待値はf ˉ wi + 1 = ∑ wi + 1 P r ( wi + 1 ∣ g ) fwi + 1 \bar{f}_{w_{i+1}}=\sum_{w_{ i +1}}Pr(w_{i+1}|g)f_{w_{i+1}}fˉw私+ 1=∑w私+ 1P r ( w私+ 1∣ g ) fw私+ 1の場合、将来の状態特徴の期待値はf ˉ si + 1 = [ f ˉ wi + 1 , f Ti + 1 ] \bar{f}_{s_{i+1}}=[\bar{f}_{ w_ {i+1}},f_{T_{i+1}}]fˉs私+ 1=[fˉw私+ 1、fT私+ 1]。
VI. MDP(W) と MDP® の統合
A. アグリゲーターとバランサー
Q-network(w) と Q-network® に基づいて、利用可能なタスクごとにQ w ( si , tj ) Q_w(s_i,t_j)を取得します。Qw( s私は、tj)和Q r ( si , tj ) Q_r(s_i,t_j)Qr( s私は、tj)、2 つに重み付けしてQ ( si , tj ) = w Q w ( si , tj ) + ( 1 − w ) ( si , tj ) Q(s_i,t_j)=wQ_w(s_i,t_j)+(1 - w)(s_i,t_j)Q ( s私は、tj)=w Qw( s私は、tj)+( 1−w ) ( s私は、tj)。
B. エクスプローラー
最も単純な強化学習探索戦略はϵ \epsilonです。ϵ -貪欲、つまりϵ \epsilon確率ϵ ,1 − ϵ 1-\epsilon1−ϵの確率は Q 値サイズの推奨タスク リストに従いますが、この方法は 1 つのタスクを推奨する場合にのみ適しており、マルチタスクのシーンはランダムすぎて適切に実行できません。この記事は Q 値を直接無視しているのではなく、ϵ \epsilon を無視しています。ϵがQ 値にvvv.vv __v は、平均 0、同じ分散および Q 値の正規分布を満たします。さらに、Q ネットワークが比較的成熟している場合、著者は減衰係数を使用して標準偏差を乗算し、ランダム性を低減します。
VII. 実験
A. 実験設定
1) データセット
この記事のデータは、商用クラウドソーシング プラットフォーム CrowdSpring から収集された実際のデータであり、著者は 2018 年 1 月から 2019 年 1 月までのすべての公開タスク情報をクロールしました。データの詳細には、開始日、期日、カテゴリ、サブカテゴリ、ドメイン、タスクを完了した作業者間の関係が含まれます。以下のグラフは、月ごとの新規タスクと期限を過ぎたタスク、および毎月到着する従業員の数と完了するために選択できるタスクの数を示しています。
さらに、労働者の到着密度と労働者の質の分布を考慮するためにデータセットが合成されます。
評価指標は以下の通りです。
2) 評価尺度
労働者の利益:
- ワーカー完了率 (CR): プラットフォームによって推奨されるタスクについて、ワーカーの累積完了率、つまり次のとおりです。
CR = ∑ iyij合計タイムスタンプ数 CR=\frac{\sum_i y_{ij}}{\mathrm{number\, of \,total\,timestamps}}CR=番号の合計タイムスタンプ∑私はyイジ
- nDCG-CR: 評価では一連のタスクが推奨されます。
n DCG − CR = ∑ i ∑ r = 1 ni 1 log ( 1 + r ) yijr 合計タイムスタンプ数 n DC GC R=\frac{\sum_{i} \sum_{r=1}^{n_{i }} \frac{1}{\log (1+r)} y_{i j_{r}}}{\text { 合計タイムスタンプ数 }}DCG _ _−CR= タイムスタンプの合計数 ∑私は∑r = 1n私はl o g ( 1 + r )1y私はr
- Top-k 完了率 (kCR): 推奨リストの並べ替えの長さを制限し、ワーカーは最初のタスクを完了します。
KCR = ∑ i ∑ r = 1 k 1 log ( 1 + r ) yijr 合計タイムスタンプ数 KCR=\frac{\sum_{i} \sum_{r=1}^{k} \frac{1}{\ log (1+r)} y_{i j_{r}}}{\text { 合計タイムスタンプ数 }}K CR= タイムスタンプの合計数 ∑私は∑r = 1kl o g ( 1 + r )1y私はr
依頼者のメリット:
- タスク品質ゲイン (QG): タスク品質の累積ゲインを計算します。
QC = ∑ igij = ∑ iqtjnew − qtjold QC=\sum_ig_{ij}=\sum_i q_{t_j}^{\mathrm{new}}-q_{t_j}^{\mathrm{old}}品質管理=∑私はgイジ=∑私はqtj新しい−qtj古い
- nDCG-QG: nDCG-CR と同じですが、タスクのランキングに異なる重みを割り当てます。
n DCG − QG = ∑ i ∑ r = 1 ni 1 log ( 1 + r ) yijrgijrn DC G-QG=\sum_{i} \sum_{r=1}^{n_{i}} \frac{1} {\log (1+r)} y_{i j_{r}}g_{i j_{r}}DCG _ _−QG=∑私は∑r = 1n私はl o g ( 1 + r )1y私はrg私はr
- Top-k タスク品質ゲイン (kQG): 同様に、推奨リストを k 個のタスクに制限します。、
KQG = ∑ i ∑ r = 1 k 1 log ( 1 + r ) yijrgijr KQG=\sum_{i} \sum_{r=1}^{k} \frac{1}{\log (1+r)} y_{i j_{r}}g_{i j_{r}}K QG=∑私は∑r = 1kl o g ( 1 + r )1y私はrg私はr
3) 競合他社
私たちの方法を他の 5 つの方法と比較しました。
- ランダム: タスクをランダムに選択します。
- Taskrec (PMF): 一様確率行列因数分解に基づいたクラウドソーシング システム用のタスク推奨フレームワーク。労働者の利益のみが考慮されます。
- SpatialUCB/LinUCB: オンライン空間タスク割り当てのための線形信頼限界上限アルゴリズム。
- 貪欲+コサイン類似度: ワーカー特徴とタスク特徴のコサイン類似度を完了率とみなし、完了率に応じてタスクを貪欲に選択またはソートします。
- Greedy+Neural Network: ワーカーとタスクの特徴を 2 つの隠れ層を備えたニューラル ネットワークにフィードして、完了率を予測します。
- DDQN: この論文のフレームワーク。
B. 実験結果 (実際のデータセット)
1) 実施内容
デフォルトでは、作業者は利用可能なすべてのタスクを参照するため、残りのタスクは興味がないと見なされます。
データセットをタスクの作成時間、有効期限、ワーカーの到着時間で並べ替えます。ワーカーのコールド スタートの問題に対処するために、ワーカーが完了した最初の 5 つのタスクを使用して機能を初期化します。
その他のハイパーパラメータ設定については、原文を参照してください。
2) 労働者の利益への配慮
上のグラフは、各月末の各メソッドの QR、kQR、nDCG-QR を示しています。Random の結果は最悪で、Taskrec はタスクとワーカーのカテゴリのみを使用し、他の情報を無視するため、パフォーマンスが低くなります。Greedy CS もワーカーとタスク間の類似性のみを計算するため、パフォーマンスが低くなります。貪欲な NN も目先の報酬しか考慮しないため、パフォーマンスが低くなります。LinUCB は作業者とタスクの情報を活用し、各作業者のフィードバック後にパラメータを更新するため、DDQN に次ぐパフォーマンスを実現します。DDQN は、ニューラル ネットワークを使用してワーカーとタスク間の複雑な関係をモデル化するだけでなく、現在および将来の報酬を予測し、各ワーカーのフィードバック後にパラメータを更新します。したがって、DDQN はすべての競合他社よりも優れています。
3) 依頼者の利益への配慮
以下のグラフは、毎月のタスクごとの個人の品質の向上を示しています。
利益が継続的に増加するわけではないことがわかります。これは、月あたりのワーカー リクエストの数に関係しています。ランダムな方法は依然として最悪であり、Greedy CS は、より高いゲインを伴うタスクをワーカーが完了することを推奨できません。Greedy NN と LinUCB は同様のパフォーマンスを示し、DDQN が依然として最良のモデルです。
4) 給付のバランス
上の図は重み付けゲインの結果ですwwwをそれぞれ 0、0.25、0.5、0.75、1.0 に設定すると、QG は 0 ~ 0.25 の範囲でほとんど変化せず、CR は 0.25 ~ 1 の範囲でほとんど変化しないことがわかるので、重み設定は 0.25 になります。最も適切です。
5) 効率
表 1 に各手法の更新時間を示しますが、強化学習モデルの平均更新時間はミリ秒レベルであり、リアルタイム要件を満たしています。
C. 実験結果 (合成データセット)
少し。
Ⅷ. 関連作業
A. 強化学習と深層強化学習
RL 学習により、エージェントは未知の環境で一連のアクションを実行できます。環境はマルコフ決定プロセスとしてモデル化されており、エージェントは探索と既知の知識の間でトレードオフを行う必要があります。RL は 3 つのカテゴリに分類できます。
- モデルフェレ
- モデルベースの
- ポリシー検索
この論文では、モデルフリー法を使用して、ベルマン バックアップを使用して Q 関数を反復的に推定します。
B. クラウドソーシングにおけるタスクの推奨と割り当て
少し。
IX. 結論
この論文では、クラウドソーシング シナリオにおけるタスク スケジューリングのための新しい強化学習フレームワークを提案します。同時に、労働者と依頼者の利益を考慮し、プラットフォームの利益を最大化します。状態、行動、報酬、状態遷移、および将来の状態の新しい表現と組み合わせた深い Q ネットワークを使用して、Q 値の修正された方程式が導出され、実験結果によりフレームワークの有効性が検証されます。
現在のモデルを改善するには 2 つの方法があります。1 つは、現在の方法を深い決定論的ポリシー勾配に置き換えることです。これにより、タスク リストを継続的なアクション スペースにマッピングして、より正確なランキングを取得できます。もう 1 つの問題は、2 人の作業者が同時に来るという競合の問題であり、割り当てられているが完了していないタスクも考慮する必要があります。
概要を読む
強化学習に関する知識が不足しているため、まだ読みにくいですが、全文を読んだ後、特徴構築部分で学習する価値があると思います全体の特徴構築の考え方は非常に明確ですただし、実験部分では、最初の重み付けされた Q 値の重みは 5 つの値のみを考慮しており、厳密さが不十分で、比較のために選択されたモデルが古すぎ、この記事で使用されている DDQN も比較的後進的です。実験部分のランダムの効果は 10 % を超えているため、実験の効果には疑問の余地がありますが、実際には各状態に 50 以上のアクションがあり、アクションは 1 つだけですアクションは正しいので、2% を超えてはなりませんが、ここでは明らかに厳密ではありません。そして、この実験は12か月間の結果をすべてテストしたので、情報漏洩の問題があるはずです。