Sunum
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Sunum

on

  • 1,848 views

evrimsel algoritmayla müzik

evrimsel algoritmayla müzik

Statistics

Views

Total Views
1,848
Views on SlideShare
1,848
Embed Views
0

Actions

Likes
0
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Sunum Presentation Transcript

  • 1. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Mehmet Melih Karcı
    Ali Çağatay Yüksel
  • 2. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Problem: Müzik Besteleme
  • 3. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Müzik
    • Sanatın sesler ile uygulanan bir dalı
    • 4. Seslerin belli aralık ve sürelerde ardı ardına tekrar etmesiyle oluşur
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Müzik
    • Nota
    • 5. Oktav
    • 6. Vuruş
    • 7. Tempo
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Müzik Besteleme
    • Müzik yaratma
    • 8. Sınırı yok
    • 9. Belli bir algoritması yok
    • 10. Kulağa hoş gelmeli
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Yazılımla Müzik Besteleme
    • Yazılımın güzel müziği ayırt etmesi zor
    • 11. İnsanlar tarafından beğenilmiş müzikler üzerinden besteleme çözüm olabilir
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Yazılımla Müzik Besteleme
    Belli bir sanatçının şarkılarının giriş olarak verildiği, bu şarkılar üzerinden müzik besteleyen program
  • 12. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Yazılımla Müzik Besteleme
    • Evrimsel Algoritma
    • 13. Genetik Algoritma
    • 14. Uygunluk fonksiyonu için Yapay Sinir Ağları
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Evrimsel Algoritma
    • Charles Darwin’in önerdiği biyolojik evrimsel modele dayanır
    • 15. Mutasyon, üreme, rekombinasyon, seçilim gibi biyolojik evrim mekanizmalarından esinlenilmiştir
    • 16. Uygulama türleri: genetik algoritma, evrimsel programlama, evrimsel strateji, genetik programalama.
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Genetik Algoritma
    • Bir tür evrimsel algoritma
    • 17. Doğadaki evrimi taklit eder
    • 18. Sürekli olarak tekrar eden bir seçilim süreciyle probleme uygun çözüm arar
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Genetik Algoritma
    • Adaylar probleme uygun yaratılmış uygunluk fonksiyonuna sokulur
    • 19. Uygunlukları düşük olanlar seçilim sırasında elenir
    • 20. Elde kalan adaylar üzerinde mutasyon ve çaprazlama işlemleri uygulanır
    • 21. Yeni adayların uygunluk değerleri okunup döngü baştan başlatılır
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Uygunluk Fonksiyonu
    • Nüfus içindeki bireylerin çözüm için uygun olup olmadığına karar verir
    • 22. Seçilimde elenecek adayları belirler
    • 23. Problemin yapısına ve istenen çözüme uygun tasarlanmalıdır
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Uygunluk Fonksiyonu
    • Yaratılan şarkıların müzikal bir düzene sahip olup olmadığını belirlemesi lazım
    • 24. Kulağa güzel gelecek müziği belirlemesi lazım
    Çözüm: Yapay sinir ağları kullanarak başka bir sanatçının müziğiyle karşılaştırma
  • 25. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Yapay Sinir Ağları
    • İnsan beynine benzer çalışırlar
    • 26. Deneyimle öğrenirler
    • 27. Karmaşık hesaplar gerektiren sorunlara çözüm getirirler
    • 28. Kullanım alanları arasında desen ve düzen tanıma vardır
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Yapay Sinir Ağları
    • Uygunluk fonksiyonunda yaratılan müziğin değerlendirilmesi için kullanılıyor
    • 29. Yinelenen sinir ağları kullanıldı
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Yazılım
    • Python 2.6 programlama dili kullanıldı
    • 30. PyBrainkütüphanesi
    • 31. Minguskütüphenesi
    • 32. SQLite
    • 33. EclipseHelios (PyDev ile birlikte) ve Vim ortamında yaratıldı
    • 34. Versiyon takibi için Git kullanıldı
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Yazılım
    • Platformdan bağımsız
    • 35. Veri tabanı tek bir dosya, lokal çalışıyor
    • 36. Başka uygulamalara adaptasyonu kolay, kütüphane olarak kullanılabilir
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Yeni
    Evrim
    Genetik Algoritma
    Kullanıcı
    Uygunluk Fonksiyonu
    Sonuç
  • 37. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Yeni
    Evrim
    Genetik Algoritma
    Kullanıcı
    Uygunluk Fonksiyonu
    Sonuç
  • 38. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Uygunluk Fonksiyonu
    • Yapay sinir ağları kullanıldı
    • 39. Eğitilen ağ veri tabanında tutulup daha sonra tekrar kullanılabiliyor
    • 40. Eğitilirken giriş olarak RTTL formatındaki şarkıları alıyor
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Uygunluk FonksiyonuYapay Sinir Ağı
    No
    N i
    So
    S i
    N i +1
    S i + 1
    Hedef Çıkış:
  • 41. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Uygunluk FonksiyonuYapay Sinir Ağı
    • Sinir ağını eğitmek için Beatles grubunun şarkıları kullanıldı
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    RTTL
    • Nokia tarafından cep telefonu melodisi transfer etmek için kullanılan bir format
    “letitbe:d=4,o=5,b=112:16g.,8g,g,8g,a,8e,8g,g.,8c6,d.6,e6,8e6,e6,8d6,8d6,8c6,2c6,e6,8e6,f6,8e6,8e6,d.6,8e6,8d6,2c6”
  • 42. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    RTTL
    • Nokia tarafından cep telefonu melodisi transfer etmek için kullanılan bir format
    “letitbe:d=4,o=5,b=112:16g.,8g,g,8g,a,8e,8g,g.,8c6,d.6,e6,8e6,e6,8d6,8d6,8c6,2c6,e6,8e6,f6,8e6,8e6,d.6,8e6,8d6,2c6”
  • 43. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    RTTL
    • Nokia tarafından cep telefonu melodisi transfer etmek için kullanılan bir format
    “letitbe:d=4,o=5,b=112:16g.,8g,g,8g,a,8e,8g,g.,8c6,d.6,e6,8e6,e6,8d6,8d6,8c6,2c6,e6,8e6,f6,8e6,8e6,d.6,8e6,8d6,2c6”
  • 44. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    RTTL
    • Nokia tarafından cep telefonu melodisi transfer etmek için kullanılan bir format
    “letitbe:d=4,o=5,b=112:16g.,8g,g,8g,a,8e,8g,g.,8c6,d.6,e6,8e6,e6,8d6,8d6,8c6,2c6,e6,8e6,f6,8e6,8e6,d.6,8e6,8d6,2c6”
  • 45. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    RTTL
    • Nokia tarafından cep telefonu melodisi transfer etmek için kullanılan bir format
    “letitbe:d=4,o=5,b=112:16g.,8g,g,8g,a,8e,8g,g.,8c6,d.6,e6,8e6,e6,8d6,8d6,8c6,2c6,e6,8e6,f6,8e6,8e6,d.6,8e6,8d6,2c6”
  • 46. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    RTTL
    • Nokia tarafından cep telefonu melodisi transfer etmek için kullanılan bir format
    “letitbe:d=4,o=5,b=112:16g.,8g,g,8g,a,8e,8g,g.,8c6,d.6,e6,8e6,e6,8d6,8d6,8c6,2c6,e6,8e6,f6,8e6,8e6,d.6,8e6,8d6,2c6”
  • 47. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Neden RTTL?
    • Şarkıları yazılımda kullanabileceğimiz hale getirmemiz kolay
    • 48. İnternette kolayca ulaşılabilen büyük arşivler
    • 49. Genelde şarkıların en akılda kalan, belirgin kısımları kullanılmış
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Uygunluk FonksiyonuYapay Sinir Ağı
    • Eğitmek için kullandığımız şarkılar RTTL formatında
    • 50. Backpropogation yöntemiyle eğitildi
    • 51. Nota ve süre değerleri yapay sinir ağının girişine ölçeklendi
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Yeni
    Evrim
    Genetik Algoritma
    Kullanıcı
    Uygunluk Fonksiyonu
    Sonuç
  • 52. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Yeni
    Evrim
    Genetik Algoritma
    Kullanıcı
    Uygunluk Fonksiyonu
    Sonuç
  • 53. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Yeni Evrim
    • Programın çalışması için gerekli parametrelerin girilmesi
    • 54. Uygunluk fonksiyonu için yapay sinir ağının seçilmesi
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Yeni
    Evrim
    Genetik Algoritma
    Kullanıcı
    Uygunluk Fonksiyonu
    Sonuç
  • 55. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Yeni Evrim
    Genetik Algoritma
    Kullanıcı
    Uygunluk Fonksiyonu
    Sonuç
  • 56. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Genetik Algoritma
    letitbe:d=4,o=5,b=112:16g.,8g,g,8g,a,8e,8g,g.,8c6,d.6,e6
  • 57. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Genetik Algoritma
    letitbe:d=4,o=5,b=112:16g.,8g,g,8g,a,8e,8g,g.,8c6,d.6,e6
    Nota Oktav Süre
    8 C 6
  • 58. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Genetik Algoritma
    letitbe:d=4,o=5,b=112:16g.,8g,g,8g,a,8e,8g,g.,8c6,d.6,e6
    Nota Oktav Süre
    8 C 6
  • 59. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Genetik Algoritma
    letitbe:d=4,o=5,b=112:16g.,8g,g,8g,a,8e,8g,g.,8c6,d.6,e6
    Nota Oktav Süre
    8 C 6
  • 60. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Genetik Algoritma
    letitbe:d=4,o=5,b=112:16g.,8g,g,8g,a,8e,8g,g.,8c6,d.6,e6
    Nota OktavSüre
    8 C 6
  • 61. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Genetik Algoritma
    letitbe:d=4,o=5,b=112:16g.,8g,g,8g,a,8e,8g,g.,8c6,d.6,e6
    Nota Oktav Süre
    g.
  • 62. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Genetik Algoritma
    Başlangıç Durumuna Getirme (initialize)
    • Kullanıcının girdiği sayıda aday yaratılır
    • 63. Kromozomlar rastgele yaratılmıştır
    • 64. Başlangıç durumuna getirilen nüfus evrime hazırdır
    • 65. Sonraki aşamada uygunluk fonksiyonuna sokulur
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Genetik Algoritma
    Seçilim (selection)
    • Uygunluk fonksiyonundan aldıkları puana göre çözüme ne kadar yakın oldukları belirlenir
    • 66. Adaylar puanlarına göre sıralanır ve düşük puanlılar elenir.
    • 67. Elenenlerin sayısı toplam adayların yarısıdır.
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Genetik Algoritma
    Çoğaltma (reproduction)
    • Kalan başarılı adaylar üzerinde çoğaltma işlemi yapılır
    • 68. Adaylar üzerinde yapılan operasyonlar;
    • 69. Çaprazlama
    • 70. Mutasyon
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Çaprazlama
    • Anne ve babadan alınan farklı genomların farklı yöntemlerle birleştirilmesiyle oluşur.
    • 71. 3 çeşit çaprazlama tekniği kullanıldı;
    • 72. Tek noktalı ( singlepoint )
    • 73. İki noktalı ( doublepoint )
    • 74. Tekbiçim ( uniform )
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Çaprazlama
    Tek Noktalı
    • Çocuk kromozomlar anne ve babanın tek bir genomunun yer değiştirilmesiyle oluşturulur
    Anne
    Baba
    Çocuklar
  • 75. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Çaprazlama
    İki Noktalı
    • Anne ve baba kromozomlar iki noktadan ayrılıp üçe bölünür. Sonuç olarak çocuk kromozomlar iki anneden bir babadan veya tam tersi şekilde genomlar alıp oluşturulur.
    Anne
    Baba
    Çocuklar
  • 76. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Çaprazlama
    Tekbiçim
    • Anne ve baba üzerinde ilerlerken rastgele noktalardan kesilip alınan genomlar çocukta birleştirilir.
    Anne
    Baba
    Çocuklar
  • 77. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Mutasyon
    • Mutasyon işlemi elimizde bulunan kromozomlar üzerinde rastgele değişiklik yapma üzerine kuruludur.
    • 78. 4 çeşit çaprazlama tekniği kullanıldı;
    • 79. Takas (swap)
    • 80. Değiştirme (replace)
    • 81. Karıştırma (scramble)
    • 82. Tersine Döndürme (inversion)
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Mutasyon
    Takas
    • Rastgele iki noktadaki genlerin yerleri değiştirilir.
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Mutasyon
    Değiştirme
    • Rastgele bir noktadaki gen rastgele başka bir genle yer değiştirir
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Mutasyon
    Karıştırma
    • Kromozomdaki belli bir genom içindeki gen sırası değiştirilir
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Mutasyon
    Tersine Döndürme
    • Kromozomdaki belli bir genom içindeki gen sırası tersine çevrilir
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Genetik Algoritma
    Uygunluk sırasına göre dizilim
    1 2 3 4 5 6 7 8
  • 83. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Genetik Algoritma
    Uygun olmayan yarısı elenir
    1 2 3 4 5 6 7 8
  • 84. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Genetik Algoritma
    Adaylar ikişer ikişer seçilir ve çaprazlanır
  • 85. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Genetik Algoritma
    Üzerinde çalıştığımız bu 4 aday mutasyona uğrar
  • 86. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Genetik Algoritma
    Üzerinde çalıştığımız bu 4 aday mutasyona uğrar
  • 87. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Genetik Algoritma
    Nüfus ilk değerine geri dönene kadar bu işlem tekrar edilir
  • 88. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Genetik Algoritma
    • Yeniden yaratılan adaylar tekrar uygunluk fonksiyonuna sokulur ve döngü baştan başlar
    • 89. Bu aşamalar veri tabanına kaydedilir
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Veri Tabanı
    • SQLite
    • 90. Platform bağımsız
    • 91. Sunucu gerektirmiyor
    • 92. Konfigürasyon kolaylığı
    • 93. Tek dosya üstünden çalışıyor
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Veri Tabanı
    • Tablolar
    • 94. neural_networks
    • 95. evoltions
    • 96. genomes
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Yeni
    Evrim
    Genetik Algoritma
    Kullanıcı
    Uygunluk Fonksiyonu
    Sonuç
  • 97. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Yeni
    Evrim
    Genetik Algoritma
    Kullanıcı
    Uygunluk Fonksiyonu
    Sonuç
  • 98. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Program Çıktısı
    • Programın evrim döngüsünde çalışırken veri tabanına kaydettiği sonuçlar ara yüzden erişilebilir.
    • 99. Program çıkışı olarak bu sonuçlardan yeterli görülen alınabilir
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Program Çıktısı
    • Veri tabanında kayıtlı olan RTTL tipindeki adaylar, Mingus kütüphanesi kullanılarak MIDI formatına çevrilir
    • 100. Midi formatındaki çıkışlar dinlenebilir haldedir
    RTTL
    .midi
  • 101. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    DEMO
  • 102. Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Sonuçlar
    • Nüfus büyüklüğünün etkisi
    • 103. Genetik operatörlerinin kullanımının etkisi
    • 104. Genel sonuçlar
  • Evrimsel Algoritmayla Müzik|Bitirme Ödevi
    Teşekkürler