Gereklilikler
.Net SDK 6
VS C++ 14.0
VS build tool
.NET Framework 4.7.1
Python 3.10
2022.3.7f1 Unity editor
MLagents 2.0.1 Unity package
--
pip 24.0
pytorch 1.12
mlagents 10
numpy1.23
Reinforcement Learning Nedir?
Pekiştirmeli öğrenme, yapay zeka ve makine öğrenmesi dünyasında, bir ajanın (mesela bir robot ya da bir yazılım) çevresiyle etkileşim kurarak ve bu etkileşimlerden ödül ya da ceza alarak öğrenmesini sağlayan bir yöntem. Burada, ajan kendi hedeflerine ulaşmak için doğru hareketleri seçmeyi öğreniyor.
Pekiştirmeli öğrenmenin temel unsurları şöyle:
1. Ajan: Karar veren sistemimiz, yani bir robot veya benzeri bir şey.
2. Çevre: Ajanın etkileşimde bulunduğu dünya veya ortam.
3. Eylemler: Ajanın çevresiyle iletişim kurmak için yapabileceği hareketler veya seçimler.
4. Ödül: Ajanın eylemlerinin sonucunda aldığı geri bildirim. Yüksek ödüller, doğru hareketleri yapmasını teşvik ederken, düşük ödüller veya cezalar yanlış seçimleri azaltmaya yardımcı olur.
5. Politika: Ajanın hangi eylemi seçeceğini belirleyen strateji.
Pekiştirmeli öğrenme, oyunlardan robotik uygulamalara kadar birçok alanda karşımıza çıkıyor. Ajan, deneyimlerinden ders çıkararak zamanla daha iyi bir performans sergilemeyi öğreniyor.

Kurulum Adımları
Terminali Açtıktan Sonra
1-) Unity Proje Dosyamızın olduğu dizine geliyoruz
2-) py -m venv venv
3-) venv\Scripts\activate
4-) python -m pip install --upgrade pip
5-)pip install torch==1.12.0 -f https://download.pythorch.org/whl/torch_stable.html
6-) pip install mlagents numpy==1.23
7-) mlagents-learn --help ; kontorl amaçlı yazıyoruz
8-) MLagents 2.0.1 Unity package Unity Assets Manager den kuruyoruz
8.1-) Eğer probuff hatası alırsak pip install protobuf==3.20
Kurulum Bitti Şimdi Test e geçiyoruz
Bu Testi yapabilmemiz için projemizi ve test ediceğimiz agent i hazırlamamız gerekiyor.
cd venv
cd script
activate
cd..
cd.. ana dizinimize dönüyoruz
mlagents-learn --run-id=test1
Modelinizin Gelişimini Takip Etmek
ayrı bir terminalde
tensorboard kullanımı 2.16.2
tensorboard --logdir results
browsera localhost:6006 yazıp local hosta bağlanıyoruz
Eğittiğiniz Modeli Kullanmak
Eğittiğiniz yapay zeka modelini kullanmak için modelin kayıtlı olduğu bölümü bulmamız gerekiyor
bu projenizin içindeki results isimli dosyadır. oluşturduğunuz modeller bu klasörün içinde saklanır.
Burada .onnx türündeki dosyayı assets klasörüne kopyalayıp Behevior Type Inference Only olarak işaretlerseniz ve projenizi başlatırsanız kontol önceden eğittiğiniz model tarafından sağlanır.
Eğitilen Modelin Eğitimine Devam Etmek
mlagent-learn --initialize-from=runid --run-id=runid2
runid yerine önceden eğittiğiniz modelin id'si runid2 yerine de eğitilicek modelin yeni id si yazılmalıdır.
Genel Hatalar ve Çözümleri
protobuf hatası
pip install protobuf==3.20
IndexOutOfRangeException: Index was outside the bounds of the array.
Unity.MLAgents.Actuators.ActionSegment`1[T].set_Item (System.Int32 index, T value) (at ./Library/PackageCache/com.unity.ml-agents@2.0.1/Runtime/Actuators/ActionSegment.cs:98)
MoveToGoalAgent.Heuristic (Unity.MLAgents.Actuators.ActionBuffers& actionsOut) (at Assets/MoveToGoalAgent.cs:40)
Unity.MLAgents.Actuators.VectorActuator.Heuristic (Unity.MLAgents.Actuators.ActionBuffers& actionBuffersOut) (at ./Library/PackageCache/com.unity.ml-agents@2.0.1/Runtime/Actuators/VectorActuator.cs:83)
Agent parametrelerinde sensör sayısı hatalı girilmiş
Bu bölümdeki parametreleri gözden geçirmeniz gerekir
__________________________________________________________
Karşılaştığınız Hatalar ve Sorularınız İçin
Ege ÖZTETİK
oztetikege@gmail.com