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

Popüler Yayınlar