REİNFORCEMENT LEARNİNG (PEKİŞTİRMELİ,TAKVİYELİ ÖĞRENME)
Reinforcement Learning ,
davranışçılıktan esinlenen, öznelerin bir ortamda en
yüksek ödül miktarına ulaşabilmesi için hangi eylemleri yapması gerektiğiyle ilgilenen bir
makine öğrenmesi yaklaşımıdır. Bu problem, genelliğinden ötürü oyun kuramı, kontrol
kuramı, yöneylem araştırması, bilgi kuramı, benzetim tabanlı en iyileme ve istatistik gibi
birçok diğer dalda da çalışılmaktadır.
Makine öğrenmesinde, ortam genellikle bir Markov Karar Süreci (MKS) olarak
modellenir, bu bağlamda birçok takviyeli öğrenme algoritması dinamik programlama
tekniklerini kullanır. Takviyeli öğrenme algoritmalarının klasik tekniklerden farkı, Markov
Karar Süreci hakkında ön bilgiye ihtiyaç duymamaları ve kesin yöntemlerin verimsiz kaldığı
büyük MKS’ler için kullanılmalarıdır.
Takviyeli öğrenme, doğru girdi/çıktı eşleşmelerinin verilmemesi ve optimal olmayan
eylemlerin dışarıdan düzeltilmemesi yönleriyle gözetimli öğrenmeden ayrışır. Dahası,
pekiştirmeli öğrenmede bilinmeyen uzayda keşif ile mevcut bilgiden istifade arasında bir
denge kurma söz konusudur.
“Takviyeli Öğrenme basitçe karar verme bilimidir. Genellikle onu öyle yapan şey budur “-
David Silver(Deep Mind Çalışanı)
Takviyeli öğrenme (Reinforcement Learning), bulunduğu ortamı algılayan ve kendi
başına kararlar alabilen bir sistemin, hedefine ulaşabilmesinde doğru kararlar almayı nasıl
öğrenebileceğini gösterir. Bu yöntem robotik, oyun programlama, hastalık teshisi ve fabrika
otomasyonu gibi alanlarda sıklıkla kullanılır.
Reinforcement Learning, Machine Learning’in bir alanı olup davranış psikolojisinden
yola çıkılarak keşfedilen aynı zamanda yapay zekada da kullanılan bir öğrenme
yöntemidir.Daha çok amaca odaklı bir öğrenme yöntemi olduğu için Machine Learning’in
diğer yaklaşımlarından ayrılmaktadır. Asıl amaç agent’in (öğrenen etkenimiz) çevreyle
etkinleşerek çevreden geri bildirim alıp -bu geri bildirime reward(ödül) diyoruz- ödülleri
maksimuma çıkartarak optimum policy’i(hareket tarzı) bulmasıdır.
Takviyeli Öğrenme Bir sistemi kontrol etmeyi öğrenmekle ilgili bir öğrenmedir. Bir hedefe
varmak için gereken bir sayısal ölçüyü maksimuma çıkarmak ile ilgilenir.
Takviyeli Öğrenme Bulunduğu ortamı algılayan ve kendi başına kararlar alabilen bir
sistemin hedefine ulaşabilmesinde doğru kararlar almayı nasıl öğrenebileceğini gösterir.
Takviyeli öğrenmede sistemin çıktı değerlerinin iyi veya kötü olup olmadığına dair bilgi
verilir.
Takviyeli öğrenmede bir eğitmen bulunur. Danışmanlı öğrenmedeki gibi sisteme çok bilgi
vermez veya veremez. Ödül ve Ceza Sinyalleri vardır. sistem bir karar verdiğinde bu kararın
doğru olduğu durumlar için sistemi ödüllendirir ve yanlışlar için de cezalandırır.
Takviyeli Öğrenmede Amaç Olası durumların hedef olup olmadığının kontrolünü yapar.
Denenen doğru veya yanlış tüm durumların hatırlar. Bu bilgilere göre sitem kendini en iyi
hedefe ulaşmak için eğitir.
Danışmanlı öğrenmede hamlenin iyi olup olmadığı her hamleden sonra bilinir. Takviyeli
öğrenmede ise yapılan hamlelerin iyi veya kötü olduğu oyunun sonunda anlaşılır.
Takviyeli Öğrenme vs Diğerleri
• Herhangi bir danışman (supervisor) yoktur. Sadece ödül sinyali vardır.
• Geri besleme (Feedback) anlık değildir, gecikmelidir.
• Zaman çok önemli bir parametredir.
• Önceki veriler sistemin hareketlerini etkiler.
Ödül ve ceza sistemi kullanılarak yazılımın zaman içinde kendini geliştirmesini
sağlayan bir algoritmadır. Örneğin, bir makineye yapması istenen bir hareket derin
pekiştirme ile öğrenme yöntemi ile öğretilirken, her başarılı hareketine artı puan, her
başarısız hareketine ise eksi puan verilir ve makine artıları maksimize etmeyi hedefleyerek
ilgili hareketi öğrenir.
Öğrenme dediğimizde aklımıza ilk gelen elbette bulunduğumuz çevreyle olan
etkileşimimiz sayesinde elde ettiğimiz neden-sonuç ilişkisidir.Henüz öğrenme çağındaki bir
bebeği düşündüğümüzde sıcak bir çaya dokunduğunda elinin yanmasıyla bir daha çaya
dokunmak istemeyecektir.Bu durumda öğrenme bebeğin çevresiyle olan etkileşimi ve
çevreden geribildirim almasıyla -bu durumda negative reward(ödül) diyebiliriz - gerçekleşir.Farklı
öğrenme durumları için farklı metotlar bulunuyor ve bu metotlar hesaba
dayalı yaklaşımla oluşturulmuş.
Başka örnekler verilecek olunursa;değişim gösteren hava durumu, sıcaklık, trafik,
saat gibi faktörlere bakarak lojistik konusunda an be an yeni çözümler veya önlemler
üretebilir. Kişinin genetik haritası, sürekli gelişen yeni vücut değerleri üzerinden birtakım
öngörülerde ve teşhislerde bulunabilir. Bir basketbol takımında, her oyuncunun
performansına, sakatlıklara, rakibin form durumuna, hatta oynadığı sahaya göre oluşan
sayısız varyasyon arasında maçın sonucuna dair bir değer aralığı yaratabilir. En önemli
değişkenleri bularak “bu oyuncuyu bu akşam oynatmazsan, bu taktiğe başvurmazsan daha
iyi olur” gibi öneriler sunabilir. Ve en bilinen örnek üzerinden gidersem, bir robota karşısına
çıkan engellere göre zıplaması, yükseğe hatta daha yükseğe zıplaması öğretilebilir. Yerine
göre eğilmeye, koşmaya hatta yolunu değiştirmeye zorlanabilir, oldukça karmaşık da olsa bir
labirentten çıkacak şekilde tasarlanabilir.
Örnek verecek olursak; OpenAI’nın Dota 2’si, DeepMind’ın AlphaGo Zero’su takviyeli öğrenme sayesinde insanüstü performanslar göstermiştir. Takviyeli öğrenme aynı şekilde Go, Satranç, GTA 5, Doom, Pong, Mario, Pacman, Tetris ve bir çok atari oyununda da başarıyla uygulanmıştır
Reinforcement Learning'de kullanılan bazı terimler vardır. Bunlar problemin oluşum ve çözümünde neye karşılık geleceği konusunda önemlidir.
Agent: Öğrenen etkenimiz.
Environment: Agent ile etkileşim halinde olan çevre.
Action:Agent’ın gerçekleştirdigi eylem
State: Agent’ın bulunduğu durum
Goal: Amaç
Reward: Herhangi bir action’ı gerçekleştirdikten sonra çevreden aldığımız ödül (pozitif veya negatif olabilir).
Policy: Agent’ın herhangi bir zamana kadar olan davranışıdır.Daha ayrıntılı belirtecek olursak herhangi bir state’de hangi action’ı gerçekleştirdiğini gösteren bir haritadır. Value Function: Uzun vadede hangi eylemin bizim için daha iyi olduğunu belirleyen değerler bütünü.Değerleri reward’ler ile oluşturuyoruz.
Evrimsel Algoritmalar
Bir çok benzerlikleri olmasına rağmen, takviyeli öğrenme algoritmaları ve evrimsel
algoritmalar aynı şey değildir.
Evrimsel algoritmalar, değer işlevini kullanmazlar. Doğrudan politikaların alanlarını
araştırırlar.
Artıları:
-Ajanın çevre konusunda fazla anlamı olmadığında etkilidir.
Eksileri:
-Ajanların hangi duruma geçtiği hakkında bilgi sahibi değiller.
-Aradıkları politikanın durumdan eyleyiciye kadar bir işlev olduğu gerçeğinden
yararlanmazlar.
KAYNAKÇA
1) http://elifdemirtas.net/2016/08/21/reinforcement-learning-1/
2) https://devhunteryz.wordpress.com/2018/02/01/takviyeli-ogrenme/
3) https://hackernoon.com/reinforcement-learning-part-1-d2f469a02e3b
4) https://www.slideshare.net/mbekird/takviyeli-renme1
5) http://bmb.cu.edu.tr/uorhan/DersNotu/Ders08.pdf
6) https://www.superdatascience.com/machine-learning/
Yorumlar
Yorum Gönder