Representation Learning #NLP1

Istilah representation learning sering muncul pada paper-paper rujukan yang mengusulkan varian atau arsitektur baru suatu algoritma. Saat membaca paper (Zhang, 2018), berjudul “Learning Structured Representation for Text Classification via Reinforcement Learning”, saya baru tahu kalau penggunaan LSTM itu bisa disetarakan dengan BoW dalam hal representasi, dengan istilah representation learning. Jadi ingat, memang benar ada conference yang namanya ICLR: The International Conference on Learning Representations, dan banyak paper rujukan utama perkembangan machine learning berasal dari situ. Oke kembali lagi, jadi pembagian representasi untuk kebutuhan fitur task klasifikasi teks bisa jadi 4 menurut Zhang.

  1. Bag of words. Tidak memperhatikan urutan, termasuk di dalamnya Deep Average Network (Iyyer, 2015) dan Autoencoder (Liu, 2015). Keduanya saya belum baca kenapa bisa termasuk ke kategori ini.
  2. Sequence. Metode CNN, RNN, termasuk LSTM dan variannya, dikatakan bahwa mereka memperhatikan word order namun tanpa menggunakan struktur apapun. (Kalau word embedding seperti Word2Vec dan Fasttext, masuk di mana ya? Pembentukan inputnya melibatkan sekuens, karena antara kata konteks dan kata target merupakan kata-kata bertetangga, kan. Tapi untuk representasinya semua dikumpulkan menjadi satu begitu saja seperti dictionary, jadi saya masih skip dulu bagian ini.)
  3. Structured. Metode Recursive autoencoder (Socher 2011, 2013), dan Tree-structured LSTM (Tai, 2015) yang saya gunakan di tesis, masuk di kategori ini. Saya pernah baca, bahwa tree-structured network bisa disamakan atau memang bersumber dari metode recursive network pada awalnya. Belum tahu pasti, tapi yang terbayang mungkin berbeda dari segi implementasi yang satu dengan recursive looping, dan yang satu dengan objek tree. Atau mungkin juga memang benar-benar sama, tapi hanya beda istilah saja? (Akan update setelah menemukan pencerahan lagi. Surprisingly saya ternyata follow Socher ini di twitter sudah sejak lama, bahkan sebelum saya ambil S2 ataupun tesis Tree-LSTMM.)
  4. Attention-based. Metode attention ini setahu saya bersumber dari metode seq2seq, tapi dengan penambahan penekanan alias attention di bagian input tertentu. (Akan update setelah beneran ngerjain kasus attention.)

Sebagai catatan, paper Zhang yang saya sebutkan di awal sangat menekankan istilah “representasi struktur” di penelitian tersebut, yang berarti masuk di kategori ke-3 dari 4 kategori di atas. Namun setelah saya coba fahami metode yang mereka usulkan, saya lebih terpikirkan ke task tagging ketimbang struktur. Yang terbayang adalah seperti task POS Tagging, yang solusi pengerjaannya adalah dengan memprediksi tiap kata atau fragmen dengan suatu label atau tag. Walaupun memang Part of Speech ini, setelah berhasil diprediksi kemudian bisa disebut atau bisa menciptakan “struktur”, tentunya dari segi linguistik.

Sehingga, agak berbeda dengan kesan saya terhadap contoh metode di kategori ke-3 yakni Recursive autoencoder dan Tree-structured LSTM. Keduanya benar-benar memaparkan cara berpikir dengan “struktur”. Algoritma dirancang dengan flow sesuai struktur yang diusulkan, yang satu secara recursive, yang satunya dengan bentuk Tree. Sehingga untuk setiap input yang diproses mengikuti struktur yang didefinisikan, dihasilkan pula output representasi struktur yang sesuai.

On Policy dan Off Policy Learning #RL1

Sudah lewat setahun saya selesai tesis, tapi belum bisa sharing artikel di sini karena bingung mulai dari mana. Kebetulan momennya sekarang sedang revisi paper, jadinya saya harus belajar lagi. Dan tiap belajar pasti banyak sekali catatan yang saya buat, baik yang tuntas maupun yang mandeg. Maka dari itu, muncul ide tab Notes ini. Berisi catatan belajar yang belum layak jadi artikel, tapi sayang kalau dibuang. Ini adalah konten Notes yang pertama, dengan topik Reinforcement Learning.

Anyway, di tesis saya, saya menggunakan algoritma Q-Learning. Q-Learning di buku Reinforcement Learning: An Introduction (Sutton dan Barto) termasuk dalam Off Policy Temporal Different Learning.

Q-Learning

Rumus Q-value nya adalah seperti gambar di bawah (GeeksforGeeks), ini sesuai yang saya pakai di tesis.

Saat menentukan action dari next state St+1, bisa dilihat di dalam kurung pada notasi yang memuat max. Nah mengambil nilai max ini disebut dengan greedy. Dan greedy ini termasuk jenis policy. Jadi untuk next state, policy yang dipakai adalah greedy.

Sedangkan menentukan action di current state St, policy yang dipakai adalah epsilon greedy. Epsilon greedy, maksudnya kita punya parameter nilai epsilon. Nilai epsilon berubah di tiap episode, ini yang menentukan kita mau pakai policy mana. Ada dua pilihan mau memilih nilai max (greedy) atau memilih random.

Jadi di Q-Learning ini sekali proses ada dua jenis policy yang dipakai. Di awal pakai epsilon greedy, di akhir ditentukan pakainya mesti greedy, sekali lagi ini kasus di tesis saya. Nah disebut Off Policy, karena policy yang dipakai di awal current state, dimatikan, dan diganti policy yang lain untuk next statenya.

SARSA

Ini merupakan jenis algoritme RL, yang saya taunya dari paper rujukan reviewer buat revisi jurnal saya (Zhang, 2009). Ternyata, SARSA mirip sekali dengan Q-Learning karena merupakan modifikasinya. Bedanya, SARSA berjenis On-Policy.

Rumus Q-value nya:

Sesuai yang sudah dijelaskan di bagian Q-Learning, kalau Off Policy memakai dua jenis policy berbeda. Maka kalau On Policy, policy yang digunakan sama. Jadi semisal di awal current state pakai epsilon greedy, maka untuk next state juga pakai epsilon greedy. Maka dari itu di rumus di atas, perolehan Q-value untuk next state notasinya sama dengan Q-value untuk current state.