ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ YÜKSEK LİSANS TEZİ YAPAY SİNİR AĞLARI İLE KONUŞMA TANIMA Gülin DEDE ELEKTRONİK MÜHENDİSLİĞİ ANABİLİM DALI ANKARA 2008 Her hakkı saklıdır

85  Download (0)

Tam metin

(1)

ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ

YÜKSEK LİSANS TEZİ

YAPAY SİNİR AĞLARI İLE KONUŞMA TANIMA

Gülin DEDE

ELEKTRONİK MÜHENDİSLİĞİ ANABİLİM DALI

ANKARA 2008

(2)

ÖZET

Yüksek Lisans Tezi

YAPAY SİNİR AĞLARI İLE KONUŞMA TANIMA

Gülin DEDE

Ankara Üniversitesi Fen Bilimleri Enstitüsü

Elektronik Mühendisliği Anabilim Dalı

Danışman: Yrd. Doç. Dr. Murat Hüsnü SAZLI

Bu çalışmada Yapay Sinir Ağları konusu incelenmiş ve bir Konuşma Tanıma uygulaması gerçekleştirilmiştir. Yapay sinir ağlarının gelişimindeki kilometre taşlarına değinilmiş ve bu süreçte uygulama alanında öne çıkan eğitim yöntemleri ve ağ yapıları incelenmiştir. Uygulamada kullanılan ağ yapıları olan geri yayılımlı Çok Katmanlı Algılayıcı, Elman Ağı ve Olasılıksal Sinir Ağı yapıları incelenmiş ve ele alınan konuşma tanıma uygulaması her bir ağ modeli ile sınanarak söz konusu yapılar birbirleri ile mukayese edilmiştir. Konuşma tanıma problemine çözüm aranan bu süreçte sinir ağlarının yanı sıra Sayısal Sinyal İşleme konusu da uygulamanın gerektirdiği ölçüde araştırılmış ve kelimelerin özniteliklerinin çıkarılması aşamasında kullanılmıştır.

Söz konusu uygulamanın çerçevesi konuşmacıya bağımlı, kelime tabanlı ve izole kelime tanıma özellikleri temel alınarak belirlenmiştir. Elde edilen sonuçlar literatürdeki benzer çalışmalarla kıyaslanmış olup, bu tezde önerilen metotların anılan çalışmalara denk ve hatta daha başarılı sonuçlar verdiği görülmüştür.

2008, 76 sayfa

(3)

ABSTRACT

B.S. Thesis

SPEECH RECOGNITION WITH ARTIFICIAL NEURAL NETWORKS Gülin DEDE

Ankara University

Graduate School of Natural and Applied Sciences Department of Electronics Engineering

Supervisor: Assist. Prof. Dr. Murat Hüsnü SAZLI

In this thesis, Artificial Neural Networks were reviewed and then some Speech Recognition applications were carried out. Milestones in the evolution of neural networks were mentioned. Throughout the study, some prominent training algorithms and network topologies were examined. Widely applied network topologies, i.e. the Multilayer Perceptron trained with back propagation algorithm, Elman Network and Probabilistic Neural Network were scrutinized. Then, speech recognition applications of these networks were compared. In the process of seeking solutions to the speech recognition problem, besides the neural networks, the area of Digital Signal Processing (DSP) were examined within the scope of the thesis. DSP techniques were used for feature extraction from the words. Framework of the application was determined based upon the following specifications: speaker’s voice characteristics, word related aspects, and discrete word recognition properties. Results were compared with similar work found in the literature. It was noticed that methods proposed in this thesis yield comparable or even superior results.

2008, 76 pages

Key Words: Artificial neural networks, digital signal processing, discrete word recognition

(4)

TEŞEKKÜR

Çalışmalarımı yönlendiren, araştırmalarımın her aşamasında bilgi, öneri ve yardımlarını esirgemeyen danışman hocam sayın Yrd. Doç. Dr. Murat Hüsnü SAZLI’ya, çalışmalarımı önerileriyle zenginleştiren değerli bölüm başkanımız sayın Doç. Dr.

Hakkı Gökhan İLK’e, çalışmalarım süresince desteğini daima hissettiğimsevgili eşime ve beni bu günlere getiren aileme en derin duygularla teşekkür ederim.

Gülin DEDE

Ankara, Temmuz 2008

(5)

İÇİNDEKİLER

ÖZET....i

ABSTRACT...ii

TEŞEKKÜR....iii

SİMGELER DİZİNİ...vi

ŞEKİLLER DİZİNİ...vii

ÇİZELGELER DİZİNİ...viii

1. GİRİŞ...1

2. YAPAY SİNİR AĞLARI...3

2.1 YSA’nın Tanımı...3

2.2 YSA’nın Tarihsel Gelişimi...4

2.3 YSA’nın Bileşenleri ve Yapısı...6

2.3.1 Biyolojik nöron....6

2.3.2 Yapay nöron...8

2.3.3 YSA’nın yapısı....11

2.4 YSA’nın Sınıflandırılması...12

2.4.1 Yapılarına göre YSA çeşitleri...12

2.4.2 Öğrenme algoritmalarına göre YSA çeşitleri....14

2.4.3 Kullanılan veri türüne göre YSA çeşitleri...16

2.5 YSA’nın Eğitilmesi ve Testi...17

2.5.1 YSA’nın eğitimi...18

2.5.2 YSA’nın testi....20

2.6 YSA Modelleri...22

2.6.1 Çok katmanlı algılayıcı....22

2.6.2 Elman ağları...23

2.6.3 Olasılıksal sinir ağları....25

2.7 YSA Özellikleri....26

3. SAYISAL SİNYAL İŞLEME....28

3.1 Temel Bilgiler...28

3.2 Öznitelik Çıkarımı...30

3.2.1 Kayan pencereleme...31

(6)

3.2.2 Pencereleme...32

3.2.3 FFT...32

3.2.4 Mel-frekans dönüşümü....33

3.2.5 Kepstrum...33

4. YAPAY SİNİR AĞLARI İLE KONUŞMA TANIMA UYGULAMASI...34

4.1 Neden Konuşma Tanıma?...34

4.2 Konuşma Tanıma Uygulamalarının Sınıflandırılması...35

4.2.1 Konuşmacı bağımlılığına göre sınıflandırma...36

4.2.2 Temel alınan ses birimine göre sınıflandırma...36

4.2.3 Sesin sürekliliğine göre sınıflandırma...37

4.2.4 Metne göre sınıflandırma...37

4.3 Uygulama Çerçevesi...38

4.4 Yazılım Geliştirme...39

4.5 Yazılım Kullanımı...48

4.5.1 Ağ seçimi...49

4.5.2 Eğitim...50

4.5.3 Test verisi ve test sinyali...53

4.5.4 Test sonucu...54

5. SONUÇ...56

5.1 Performans ve Sonuçlar....56

5.2 Literatürdeki Benzer Çalışmalar ...66

5.3 Değerlendirme....69

KAYNAKLAR...72

ÖZGEÇMİŞ...76

(7)

SİMGELER DİZİNİ

AWGN Additive White Gausien Noise

ÇKA Çok Katmanlı Algılayıcı

FFT Fast Fourier Transform

GUI Graphic User Interface

LPC Linear Predictive Coding

MFC Mel-Frequency Cepstrum

NNT Neural Network Toolbox

OSA Olasılıksal Sinir Ağı

PCM Pulse Code Modulation

SSİ Sayısal Sinyal İşleme

YSA Yapay Sinir Ağları

(8)

ŞEKİLLER DİZİNİ

Şekil 2.1 İnsan beyninin yapısı...6

Şekil 2.2 Biyolojik nöronun yapısı...7

Şekil 2.3 Yapay nöronun yapısı...8

Şekil 2.4 Çeşitli aktivasyon fonksiyonları (a) Tek kutuplu basamak fonksiyonu, (b) Çift kutuplu basamak fonksiyonu, (c) Doğrusal fonksiyon, (d) Simetrik parçalı doğrusal fonksiyon, (e) Sigmoid fonksiyonu, (f) Tanjant sigmoid fonksiyonu...10

Şekil 2.5 İleri beslemeli ağ yapısı...13

Şekil 2.6 Geri beslemeli ağ yapısı...14

Şekil 2.7 Danışmanlı öğrenme...15

Şekil 2.8 Danışmansız öğrenme...16

Şekil 2.9 Çok katmanlı algılayıcı yapısı...23

Şekil 2.10 Elman sinir ağları yapısı...24

Şekil 2.11 Olasılıksal sinir ağları yapısı...25

Şekil 3.1 MFC blok diyagramı...31

Şekil 4.1 Giriş matrisinin oluşturulması...46

Şekil 4.2 Çıkış matrisinin oluşturulması...47

Şekil 4.3 Konuşma tanıma sistemi uygulama penceresi...49

Şekil 4.4 Eğitim ekranı...50

Şekil 4.5 Geri yayılımlı ÇKA eğitim penceresi...51

Şekil 4.6 Elman ağı eğitim penceresi...52

Şekil 4.7 Test verisi ekranı...53

Şekil 4.8 Sonuç ekranı...54

Şekil 5.1 Ortalama ağ başarımları...61

Şekil 5.2 OSA yapısında kullanılan nöron sayısının, eğitim verisindeki örnek sayısı ile değişimi...64

(9)

ÇİZELGELER DİZİNİ

Çizelge 4.1 Konuşma tanıma sistemlerinin sınıflandırılması...35

Çizelge 4.2 MFC hesabında kullanılan parametreler...42

Çizelge 5.1 Geri yayılımlı ÇKA için doğruluk çizelgesi...57

Çizelge 5.2 Elman ağı için doğruluk çizelgesi...58

Çizelge 5.3 OSA için doğruluk çizelgesi...59

Çizelge 5.4 Ağ başarımları...60

Çizelge 5.5 Ortalama ağ başarımları...61

Çizelge 5.6 OSA için geniş veri seti ile doğruluk çizelgesi...63

Çizelge 5.7 OSA için gürültü ilaveli doğruluk çizelgesi...65

Çizelge 5.8 Ağ yapıları arasındaki farklar...67

(10)

1. GİRİŞ

Yapay Zeka, insan beyninin çalışma sistemini anlamak ve bu sistemi taklit etmek üzerine kurulmuş olan ve temelleri orta çağ düşünürlerine kadar uzanan eski bir paradigmadır.

Yapay Sinir Ağları ise bu köklü paradigmanın önemli araştırma ve uygulama alanlarından biridir.

Yapay Sinir Ağları teknolojisi, 40’lı yıllara dayanan ilk uygulamalarından itibaren sürekli bir gelişim içinde olmuştur. Yapay Sinir Ağlarına atfedilen pek çok çalışmaya ilham veren ve gelişimindeki sürekliliği sağlayan temel husus ise insanoğlunun, günlük hayatında büyük yer tutan bilgisayarlara, kendi yeteneklerini aktarma isteğidir. Bu sebepten ötürüdür ki Yapay Sinir Ağları, üzerinde sıklıkla durulan ve geniş uygulama alanına sahip temel bir disiplin olarak literatürde yerini almıştır.

Bu çalışmada, Yapay Sinir Ağları disiplini ile ilgili bilgilerin derlenmesi ve bu bilgiler ışığında bir konuşma tanıma uygulaması yapılması hedeflenmiştir. Tezde ele alınan konular sırasıyla Giriş, Yapay Sinir Ağları, Sayısal Sinyal İşleme, Yapay Sinir Ağları ile Konuşma Tanıma Uygulaması ve Sonuç olmak üzere beş genel başlık altında araştırılmıştır.

İkinci bölümde Yapay Sinir Ağları (YSA) ile ilgili genel bilgilere yer verilmiştir. Bu kapsamda YSA’nın tanımı, tarihsel gelişimi ile yapısı ve elemanları açıklanmıştır. Daha sonra YSA’nın yapılarına, öğrenme algoritmalarına ve kullanılan veri türüne göre sınıflandırılmasından bahsedilmiştir. Bölüm, YSA’nın eğitilmesi, test edilmesi, uygulamada kullanılan YSA modelleri ve özelliklerinin açıklanması ile sonlandırılmıştır.

Üçüncü bölümde Sayısal Sinyal İşleme (SSİ) konusu ele alınmıştır. Bu bölümde SSİ ile ilgili temel bilgilere yer verilmiştir. Uygulamada kullanılacak olan ses sinyalleri ile ilgili

(11)

Dördüncü bölümde YSA ile bir konuşma tanıma uygulaması yapılması amaçlanmıştır. Bu bölümde öncelikle, uygulama alanı olarak neden konuşma tanıma probleminin seçildiği, literatürdeki konuşma tanıma uygulamalarının sınıflandırılması ve uygulamanın çerçevesi gibi konulara açıklık getirilmiştir. Uygulamada kullanılan YSA modelleri olan Çok Katmanlı Algılayıcı (ÇKA), Elman Ağları ve Olasılıksal Sinir Ağları (OSA) yapıları Matlab programı ile gerçekleştirilmiştir. Ayrıca Matlab GUI (Graphic User Interface) ile bir kullanıcı arayüzü yazılmıştır. Söz konusu yazılımın tasarım ve kullanımı etraflıca anlatılmıştır.

Beşinci ve son bölümde ise farklı ağ yapıları ile elde edilen ağ performanslarına ve sonuçlara yer verilmiştir. Bu sonuçlar üzerinde çeşitli değerlendirmeler yapılmıştır. Yanı sıra ilerideki çalışmalar için önerilerde bulunulmuştur.

(12)

2. YAPAY SİNİR AĞLARI

Bu bölümde, Yapay Sinir Ağları (YSA) teknolojisinin gelişimindeki kilometre taşları, YSA’nın temel unsurları, çeşitli ağ yapıları ve bahse konu yapıların ne tür sistemlerde kullanıldıkları ile YSA’nın özellikleri üzerinde durulmuştur. Yanı sıra, tasarım aşamaları ileriki kısımlarda etraflıca anlatılacak olan konuşma tanıma sistemi benzetiminin çerçevesi oluşturulmuş ve bu uygulamada kullanılacak olan YSA yapıları ön plana çıkarılmıştır.

2.1 YSA’nın Tanımı

YSA, evrensel bir tanımı olmamakla beraber çoğu bilim adamının “bir çok küçük bilgi işleme biriminin bir araya gelmesiyle oluşturulan ağlar” olduğu üzerinde uzlaştıkları yapılardır. Yanı sıra YSA, neredeyse her yayında farklı bir özelliği ya da uygulaması öne çıkarılarak yeniden tanımlanmaktadır. Bu çalışmada, YSA’nın genel kabul gören ve literatürde sıklıkla rastlanan üç farklı tanımına yer verilmiştir.

Teuvo Kohonen

“Bir YSA, paralel olarak bağlantılı ve çok sayıdaki basit elemanın gerçek dünyanın nesneleriyle biyolojik sinir sistemine benzer yolla etkileşim kuran hiyerarşik bir organizasyondur (Kohonen 1987).”

DARPA Neural Network Study

“Bir YSA, paralel olarak çalışan bir çok basit işlem elemanından oluşan ve fonksiyonu, ağ yapısı, bağlantı ağırlıkları ve hesaplama elemanları ya da düğümlerde gerçekleştirilen işlemler tarafından belirlenen bir sistemdir (Widrow 1988).”

(13)

Simon Haykin

“Bir YSA, basit işlem birimlerinden oluşan, deneyimsel bilgi biriktirmeye yönelik doğal bir eğilimi olan ve bunların kullanımına imkan veren, yoğunlukla paralel dağıtılmış bir işlemcidir.

Bu işlemci iki şekilde beyne benzer.

1. Bilgi, ağ tarafından bir öğrenme süreciyle çevreden kazanılır.

2. Bilgi biriktirmek için sinaptik ağırlıklar olarak da bilinen nöronlar arası bağlantı güçleri kullanılır (Haykin 1999).”

Özetle YSA, insan beynini model alan, nöron olarak adlandırılan basit işlem elemanlarından meydana gelen, doğrusal olmayan ve yüksek karmaşıklığa sahip bir bilgi işleme sistemidir.

2.2 YSA’nın Tarihsel Gelişimi

YSA’nın temelleri, McCulloch ve Pitts’in 1943 yılında yayınladıkları makale ile atılmıştır.

YSA’nın dayandığı ilk hesaplama modelinin ortaya koyulduğu bu makaleyi takip eden önemli bir diğer yayın, 1954 yılında Farley ve Clark’ın uyarılara adaptif ve tepkisel yaklaşım sergileyen bir ağ modelini konu alan çalışmalarıdır (Farley and Clark 1954).

Benzer bir diğer çalışma da 1956 yılında Rochester, Holland, Haibit ve Duda tarafından gerçekleştirilmiştir (Rochester et al. 1956).

1958 yılında Rosenblatt’ın algılayıcıyı tasarlamasını takiben YSA benzetimlerinde önemli ilerlemeler sağlanmıştır (Rosenblatt 1958). Ancak Minsky ve Papert’in, algılayıcının doğrusal olmayan problemlerin çözümünde yetersiz olduğunu ispatlayan çalışmaları bu ilerlemenin önünü nisbeten kapatmıştır (Minsky and Papert 1969).

(14)

Buna rağmen YSA araştırmaları az sayıda bilim adamı tarafından sürdürülmüş ve kısmi ilerlemeler kaydedilmiştir. Örneğin bu durgunluk döneminde Widrow tarafından 1960 yılında algılayıcıya getirilen farklı bir yaklaşımın ürünü olan Adaline (Adaptive Linear Element) ise YSA teknolojisini analog bir elektronik cihaz kadar somutlaştırmıştır (Widrow 1960).

60 ve 70’li yıllar boyunca yeni ağ yapıları ve öğrenme yöntemleri bulunup geliştirilmesi üzerine sürdürülen teorik çalışmalar, 1975’te Fukushima’nın Cognitron’u tasarlamasından sonra YSA tabanlı uygulamaların gerçekleştirilmesi üzerine yoğunlaşmıştır (Fukushima 1975).

Takip eden yıllarda bir kısım bilim adamının birbirlerinden habersiz olarak çok katmanlı algılayıcıyı geliştirmeleri ve 1986 yılında Rumelhart ve arkadaşlarının geri yayılım algoritmasını geliştirmesi ile doğrusal olmayan problemlere de yanıt vermeye ve dolayısıyla daha fazla akademisyenin ilgisini çekmeye başlamıştır (Rumelhart et al. 1986).

1985’ten günümüze kadar yapılan çalışmalar ise YSA uygulamalarındaki çeşitliliği arttırmış ve literatüre pek çok kaynak kazandırmıştır.

Günümüzde YSA ile gerçekleştirilen uygulamalar arasında tahmin, sistem modelleme ve model sınıflandırma, iyileştirme, otomasyon ve kontrol, adaptif filtreleme, veri ilişkilendirme, veri sıkıştırma, örüntü tanıma ve eşleştirme gibi pek çok karmaşık problem yer almaktadır.

(15)

2.3 YSA’nın Bileşenleri ve Yapısı

YSA teknolojisinin özü, insan biyolojik sinir sistemini taklit etme çabasıdır. Dolayısıyla YSA’ları anlamak, söz konusu sinir sisteminin en temel unsuru olan insan beyninin yapısı ve işleyişini bilmeyi gerektirir. Oysa insan beyni, hala sayısız bilinmeyeni olan hayli karmaşık bir sistemdir ve çözülmesi günümüz teknolojisi ile dahi ulaşılması çok zor bir hedeftir. Bu sebepten, burada sadece genel hatlarıyla insan beyninin yapısına ve bu yapının temel taşları olan sinir hücrelerine değinilecektir.

Şekil 2.1 İnsan beyninin yapısı (Haykin 1999)

2.3.1 Biyolojik nöron

İnsanın biyolojik sinir sisteminin temel iletim elemanları sinir hücreleri, diğer adıyla biyolojik nöronlardır.

(16)

Şekil 2.2 Biyolojik nöronun yapısı (Nabiyev 2003)

Şekilde yapısı görülen bir biyolojik nöron, hücre gövdesi (soma), bu gövdeyi çevreleyen dendritler ve gövdeye bağlı aksondan oluşmaktadır.

Biyolojik nöronlar, dendritleri vasıtasıyla diğer biyolojik nöronlardan gelen uyarıları alırlar.

Bu uyarılar, hücre içindeki elektrokimyasal bağlantıları sağlayan sinapslarla ölçeklendirildikleri şekilde gövdeye iletilirler.

Bu iletim sırasında çok çeşitli ve biyokimyasal süreçler gelişir. Örneğin, sinyalin hızı gövde boyunca çeşitli şekillerde arttırılır ve sinyal periyodik olarak tekrarlanır. Yanı sıra, hala tam olarak açıklanamayan bazı biyokimyasal süreçler de iletimde rol oynamaktadır.

Sonuç olarak hücre boyunca iletilen sinyaller aksona ulaştığında belirli bir eşik değerinin üzerindeyse nöron aktif, altındaysa nöron pasif olur.

(17)

2.3.2 Yapay nöron1

Daha önce de bahsedildiği gibi biyolojik sinir sistemine ait en küçük bilgi işleme birimleri biyolojik nöronlardır. Benzer şekilde, bu biyolojik nöronlardan esinlenilerek modellenen yapay nöronlar da YSA’nın en küçük bilgi işleme birimleridir.

Tasarlanan yapay nöron modellerinde çeşitli farklılıklar olabilmektedir. Ancak, genel itibariyle bir nöronun yapısı ve bileşenleri Şekil 2.3’de gösterildiği gibidir.

Şekil 2.3 Yapay nöronun yapısı

Girdiler: Girdiler, dış çevreden ya da sistemdeki diğer nöronlardan ulaşan bilgilerdir. Bu bilgiler, ağın öğrenmesi istenen örnekler ile belirlenir.

1

(18)

Ağırlıklar: Ağırlıklar, bir nörona etki eden girdilerin matematiksel katsayılarıdır ve bağlantılı oldukları girdilerin nöronu ne ağırlıkta etkileyeceğini belirler. Farklı bağlantı noktaları için farklı ağırlık değerleri atanabilmektedir. Böylece ağırlıklar tüm nöronların girdilerini etkilemiş olur.

Birleştirme fonksiyonu: Birleştirme fonksiyonu, toplama fonksiyonu olarak da adlandırılmaktadır. Çünkü birleştirme fonksiyonları genellikle nörona gelen girdiler ile bu girdilere ait ağırlıkların çarpımlar toplamını ifade eder. Bu fonksiyon, çarpımlar toplamının yanı sıra maksimum, minimum, normalizasyon benzeri hesaplamaları içerebileceği gibi ağ tasarımcısının kendi tanımladığı her hangi bir fonksiyon da olabilmektedir.

Aktivasyon fonksiyonu: Bu fonksiyon, birleştirme fonksiyonu ile elde edilen sonucu seçilen bir aktivasyon işleminden geçirerek nöronun çıktısını belirler.

Aktivasyon fonksiyonları yapı itibariyle doğrusal olabildiği gibi, günlük hayatta karşılaşılan karmaşık ve doğrusal olmayan problemlere çözüm getirilebilmesi için sıklıkla doğrusal olmayan yapıda da olabilirler.

Çeşitli aktivasyon fonksiyonları mevcuttur. Şekilde görülen tek ve çift kutuplu basamak fonksiyonları, doğrusal ve simetrik parçalı doğrusal fonksiyonlar, sigmoid fonksiyonu ile tanjant sigmoid fonksiyonu yaygın olarak kullanılan aktivasyon fonksiyonlarıdır (Türksoy 2005).

(19)

Şekil 2.4 Çeşitli aktivasyon fonksiyonları (a) Tek kutuplu basamak fonksiyonu, (b) Çift kutuplu basamak fonksiyonu, (c) Doğrusal fonksiyon, (d) Simetrik parçalı doğrusal fonksiyon, (e) Sigmoid fonksiyonu, (f) Tanjant sigmoid fonksiyonu

(20)

Tasarlanan yapıya en uygun aktivasyon fonksiyonu deneme-yanılma yoluyla en uygun sonucu verecek şekilde seçilmelidir. Çünkü bu fonksiyonlar, birleştirme fonksiyonu sonuçlarını seçilen aktivasyon fonksiyonuna uyarlayarak katmanların çıkışlarını belirli değerlere sınırlandırır ve atandıkları katmandaki tüm nöronlara aynı şekilde etkirler.

Çıktılar: Aktivasyon fonksiyonu uygulanmasıyla elde edilen değer, nöronun çıktısıdır.

Çıktılar, diğer nöronlara girdi olabileceği gibi dış ortama çıktı olarak da gönderilebilirler.

Ancak burada dikkat edilmesi gereken nokta, bir nöronun birden fazla girdisi olabilmesine rağmen sadece bir çıktısının olmasıdır.

2.3.3 YSA’nın yapısı

YSA yapıları, katmanlar halinde birleşen nöronlardan oluşmaktadır. Çeşitli ağırlık ve fonksiyonlarla bir araya gelen nöronların oluşturduğu bu katmanlar da farklı yapılardadır.

Genel olarak bir YSA’da üç tip katman bulunur. Bunlar giriş katmanı, saklı katman(lar) ve çıkış katmanıdır.

Giriş katmanı

Giriş katmanı, dış dünyadan gelen bilgilerin alındığı ve ağa sevk edildiği katmandır. Bu katmanda bilgi işleme yapılmamaktadır.

Saklı katman(lar)

Bu katman(lar), girdi katmanı ile çıktı katmanı arasında yer alır. Giriş katmanından gelen bilgiler, saklı katmanlar boyunca çeşitli algoritmalarla işlenerek çıkış katmanına gönderilir.

Bir YSA’da, gerçekleştirilmek istenen uygulamanın niteliğine göre bir veya daha fazla saklı

(21)

Çıkış katmanı

Çıkış katmanı, saklı katman(lar)dan gelen bilgileri işleyerek YSA’nın çıkışını oluşturan katmandır. Bir YSA’da tek çıkış katmanı bulunur.

Özetle YSA yukarıda yapıları açıklanan katmanların farklı uygulamalar için farklı şekillerde tasarlanması ile çeşitlilik kazanırlar.

2.4 YSA’nın Sınıflandırılması

Ağ mimarisi, kullanılan öğrenme yöntemi, nöronların bağlantı stratejileri vb. farklılıklara sahip çok sayıda YSA yapısı vardır. Genel olarak YSA üç ana kritere göre sınıflandırılmaktadır. Bunlar ağın yapısı, öğrenme algoritması ve kullandığı veri türüdür.

2.4.1 Yapılarına göre YSA çeşitleri

YSA yapılarına göre ileri beslemeli ağlar ve geri beslemeli ağlar olarak sınıflandırılırlar.

İleri beslemeli ağlar

İleri beslemeli ağlar, adından da anlaşılacağı gibi nöronların ileri yönde işlemlerle sevk edildiği, yani bir katmandaki nöronların gerideki katmanlarda değil, ilerideki katmanlarda bağlantılarının bulunduğu ağ türleridir. İleri beslemeli ağlarda statik bir ağ yapısı söz konusudur. Bu yapılarda döngülere yer verilmez ve sayesinde YSA çıktısı hızla sonuçlandırılabilir.

Bu tür YSA’da nöronlar katmanlar halinde düzenlenir ve bir katmandaki nöronların çıktıları belirli oranlarda ağırlıklandırılarak bir sonraki katmana iletilir. Bu şekilde saklı katmanlar boyunca iletilen bilgiler çıkış katmanında işlenerek ağın çıktıları oluşturulur.

(22)

İleri beslemeli ağların genel yapısı aşağıdaki şekilde görülmektedir.

Şekil 2.5 İleri beslemeli ağ yapısı

Geri beslemeli ağlar

Geri beslemeli ağlar, nöronların ileri yöndeki işlemlerin yanı sıra geri yönde işlemlere de sevk edildikleri ağ türleridir. Yani bir katmandaki nöronların, yalnız ilerideki katmanlarla değil kendi katmanları ve gerilerindeki katmanlarla da bağlantıları bulunur. Böylece girdiler hem ileri hem de geri yönde iletilmiş olur.

Geri beslemeli ağlarda dinamik bir ağ yapısı söz konusudur. Bu tür ağ yapılarının önemli bir özelliği bölgesel dağıtılmış hafızaya sahip olmalarıdır. Şöyle ki, ağın belirli bir andaki çıktısı hem o andaki hem de daha önceki anlardaki girdilere ilişkin veriyi içermektedir.

(23)

Şekil 2.6 Geri beslemeli ağ yapısı

Şekil 2.6’da geri beslemeli ağların genel yapısı görülmektedir. Bu ağlarda iletim hızı ileri beslemeli ağlara kıyasla daha düşüktür. Bunun sebebi, geri besleme döngülerinin ağın genelini belirli bir gecikmeye uğratmasıdır.

2.4.2 Öğrenme algoritmalarına göre YSA çeşitleri

YSA’da öğrenme, ağda yer alan nöronlar arasındaki ağırlıkların, ağın işlevini yerine getirmek üzere ayarlanmasıdır. Bu ağırlıkların ne şekilde değiştirileceği öğrenme kuralları ile belirlenir. Öğrenme algoritmaları genel olarak iki başlıkta toplanabilir. Bunlar, danışmanlı ve danışmansız öğrenmedir.

(24)

Danışmanlı öğrenen ağlar

Danışmanlı öğrenme, YSA’nın gerçek çıktısı ile beklenen çıktısı arasındaki farkın, belirlenen bir hata değerine ulaşılana değin azaltılarak ağın nihai çıktısının bulunmasına odaklı bir öğrenme algoritmasıdır. Burada öğrenme algoritmasına ismini veren danışman esas itibariyle ağın beklenen çıktısıdır.

Bu algoritmaya göre ilk ağırlık değerleri genelde rassal olarak belirlenir ve hedeflenen farka ulaşılana kadar döngüler halinde değiştirilir.

Danışmanlı öğrenen ağlara örnek olarak geri yayılım algoritması ile eğitilen çok katmanlı algılayıcı verilebilir. Şekilde danışmanlı öğrenme gösterilmiştir.

Şekil 2.7 Danışmanlı öğrenme

(25)

Danışmansız öğrenen ağlar

Danışmansız öğrenme, adından da anlaşılabileceği gibi danışman gereksinimi olmadan, yani ağın gerçekleştirilmesi istenen davranışı kendi kendine öğrenebildiği bir algoritmadır.

Danışmansız öğrenen ağlarda girdiler, ağ tarafından daha detaylı yorumlanır ve aralarındaki benzerlikler ortaya çıkarılır. Bu tür ağlar, söz konusu özelliklerinden dolayı genellikle sınıflandırma problemlerinin çözümünde tercih edilir.

Danışmansız öğrenme algoritmasında, sadece YSA’nın girdileri üzerinde işlem yapıldığı için danışmansız öğrenen ağların hızı, danışmanlı öğrenen ağlara göre daha yüksek olmaktadır. Şekilde yapısı görülen bu ağlara örnek olarak öz örgütlemeli haritalar ve ART (Adaptive Resonance Theory) ağları verilebilir.

Şekil 2.8 Danışmansız öğrenme

2.4.3 Kullanılan veri türüne göre YSA çeşitleri

Bir diğer sınıflandırma da YSA’da girdi olarak kullanılan verinin türüne göre yapılmaktadır. Buna göre YSA, niteliksel veri kullanan ağlar ve niceliksel veri kullanan ağlar olarak iki grupta toplanırlar.

(26)

Niteliksel veri kullanan ağlar

Niteliksel veri kullanan ağlar, YSA girdilerinde kalitatif veri olarak da adlandırılan niteliksel verinin kullanıldığı ağ türüdür. Bu ağ türü, desen oluşturma ve sınıflandırma problemlerinde kullanılmaktadır.

Niceliksel veri kullanan ağlar

Niceliksel veri kullanan ağlar, YSA girdilerinde kantitatif veri olarak da adlandırılan niceliksel verinin kullanıldığı ağ türüdür. Bu ağ türü, genelleme ve tahmin problemlerinde kullanılmaktadır.

2.5 YSA’nın Eğitilmesi ve Testi

Bir YSA’nın eğitilmesi ve test edilmesi, tasarlanan ağ yapısının performansının değerlendirilmesi açısından önemlidir.

YSA’da eğitim işlemi, ağda bulunan nöronlar arasındaki bağlantılara ait ağırlık değerlerinin YSA’nın girişindeki veriler doğrultusunda ve ağın çıkışının bulunmasına yönelik olarak ayarlanması şeklinde özetlenebilir. Burada amaç, ağ girdileri için hedeflenen doğru çıktıları verecek ağırlık değerlerinin hesaplanmasıdır.

YSA’da test işlemi ise, ağ parametrelerinde bir değişiklik yapılmaksızın ağın istenilen davranışı gerçekleştirip gerçekleştiremediğinin sınanması işlemidir.

YSA’da eğitim ve test işlemlerine ilişkin esaslar ilerleyen başlıklarda açıklanmaktadır.

(27)

2.5.1 YSA’nın eğitimi

YSA’nın istenilen davranışı göstermesi için öncelikle bir veri seti ile eğitilmesi gerektiğinden bahsedilmişti. Ağın girişine uygulanan bu veri seti, eğitim seti olarak adlandırılmaktadır.

Eğitim setinin YSA’ya öğretildiği bu süreçte önemli rol oynayan bazı eğitim parametreleri ile öğrenme kuralları mevcuttur.

Eğitim parametreleri

Bir YSA tasarlanırken, ağı tanımlamak üzere çeşitli eğitim parametreleri kullanılır ve bu parametrelere uygun değerler deneme-yanılma yöntemi ile belirlenir. En temel eğitim parametreleri ve açıklamaları aşağıda sunulmuştur.

Yineleme sayısı (Epoch) : Yineleme sayısı, YSA’nın eğitilebilmesi için giriş verisinin ağdaki çevrim sayısıdır.

Hedef (Goal) : YSA’nın çıkışında, hedeflenen sonuca ne hata oranı ile yaklaşılacağını belirleyen parametredir. Ağın eğitilmesi işlemi, belirlenen hata oranına ulaşılana kadar sürer.

Öğrenme oranı (Lr - Learning rate) : Bu parametre, YSA eğitiminin bir nevi yoğunluğunu ifade eder. YSA’da kullanılan öğrenme kuralı ile ilgili olarak belirlenir.

Öğrenme kuralları ile ilgili genel bilgiler takip eden başlıkta verilecektir.

(28)

Bir YSA’nın eğitiminde iki aşama vardır. İlk aşama, ağın mevcut girişe göre üreteceği çıktının belirlenmesidir. İkinci aşama ise bu çıktının hedeflenen hata değerinden uzaklığına göre ağırlıkların yeniden belirlenmesidir. YSA’da eğitim sürecindeki bu belirleyici rolü üstlenen bir takım algoritmalar vardır. Bu algoritmalar öğrenme kuralları olarak adlandırılır.

Öğrenme kuralları

Nöronlar arasındaki ağırlıkların değiştirilme yöntemi, öğrenme kurallarından hangisinin uygulandığına göre farklılıklar gösterir. Temel öğrenme kuralları Hebb kuralı, Hopfield kuralı, Delta kuralı ve Kohonen kuralıdır. (Öztemel 2006)

Hebb kuralı : Hebb tarafından geliştirilen bu öğrenme kuralı biyolojik sinir ağlarının işleyişinden esinlenmektedir (Hebb 1949). Daha sonra geliştirilen çeşitli öğrenme kurallarına esin kaynağı olan bu öğrenme kuralında, bir yapay sinir hücresinin diğer bir yapay sinir hücresinden girdi alması ve her iki hücrenin polaritelerinin aynı olması durumunda söz konusu hücreler arasındaki bağlantı ağırlığı arttırılır.

Delta kuralı : Widrow ve Hoff, Hebb kuralını biraz daha geliştirerek Delta kuralını bulmuşlardır (Widrow and Hoff 1960). Yaygın kullanıma sahip bu öğrenme kuralı en küçük kareler (LMS - Least Mean Square) kuralı olarak da adlandırılmaktadır. Buna göre, YSA’nın beklenen çıktısı ile mevcut çıktısı arasındaki farkın karesi, bağlantı ağırlıkları değiştirilerek minimize edilmeye çalışılır.

Hopfield kuralı : Hopfield kuralı, Hebb kuralına benzer bir algoritmadır. Ancak burada Hebb kuralında olduğu gibi ağırlıkların değiştirilmesine ilaveten yapılacak olan bu değişikliğin miktarı da belirlenmektedir. Her yinelemede ne derece değişiklik yapılacağı ise

(29)

Kohonen kuralı : Kohonen tarafından geliştirilen bir öğrenme kuralıdır (Kohonen 1982).

Bu kural, nöronların YSA’ya verilen girdileri öğrenmek üzere birbirleri ile yarışmaları esasına dayanır. Eğitim setinin beklenen çıktısına en uygun sonucu üreten nöronların ağırlıkları ayarlanarak sonuca olan etkileri kuvvetlendirilir. Sonuca yakın nöronların ağırlıkları 1’e yakınsarken sonuca uzak nöronların ağırlıkları 0’a yakınsar. Bir diğer deyişle yarışı ağırlıkları 1 olarak ayarlanan nöronlar kazanır.

YSA’nın yukarıda sıralanan öğrenme kurallarından veya benzerlerinden birisi ile eğitiminin tamamlanmasından sonra, tasarımın istenilen davranışı gösterip göstermediğinin test edilmesi gerekmektedir.

2.5.2 YSA’nın testi

Herhangi bir problemin olası giriş ve çıkışlarının YSA’ya öğretilmesinden sonra, söz konusu ağ bu probleme ait bir test seti ile sınanır. Ancak test seti, eğitim setinde yer almayan örneklerden oluşmalıdır. Diğer taraftan; test işleminde, YSA’nın ağırlıklarının ayarlandığı eğitim işleminden farklı olarak YSA’nın ağırlık değerleri değiştirilmez ve sadece ağın çıktısı hesaplanır.

YSA’nın iyileştirilmesi

YSA yapılarında belirli parametrelerin iyileştirilmesi ile ağın genel performansında daha iyi sonuçlar elde etmek mümkündür. Örneğin bir problem için ağın tasarımında kullanılması gereken saklı katman sayısı ve bu katmanlardaki nöron sayılarının, nispeten karmaşık bir problem için arttırılması uygun bir tercih olacaktır. Ancak YSA’daki işlem elemanları arttırılırken ağdaki toplam işlem yükü ve dolayısıyla sistem hızı göz önünde bulundurulmalıdır.

(30)

Bir YSA’da kullanılan eğitim ve test verisinin belirlenmesi de en az nöron sayısı kadar önemlidir. Bu veri setleri ile ilgili en önemli nokta, söz konusu verinin yeterli olup olmadığıdır. Eğitim verisinin mümkün olduğunca fazla tutulması YSA’nın daha iyi öğrenmesine katkı sağlar. Yanı sıra, ele alınan problemin karmaşıklığı arttıkça kullanılan eğitim setinin büyütülmesi de benzer netice verecektir. Ancak bu veri setleri için yanlış tercihlerin yapıldığı durumlarda “aşırı uydurma (overfitting)” ve “yetersiz uydurma (underfitting)” gibi istenmeyen sonuçların ortaya çıkması olasıdır (Haykin 1999). Aşırı uydurma, sinir ağları terminolojisinde “aşırı öğrenme (overtraining)” olarak da bilinir.

Aşırı uydurma : Ağın gereğinden fazla sayıda nöron kullanılarak eğitilmesi durumunda ortaya çıkan ve YSA’nın genel performansını olumsuz etkileyen bir durumdur. Ağ, bu durumda eğitilmekten öte eğitim setini ezberler.

Yetersiz uydurma : Ağın gereğinden az sayıda yani yetersiz nöron kullanılarak ve dolayısıyla tam anlamıyla eğitilememesi sonucu meydana gelen bir durumdur. Ağ, hedeflenen davranışı yeterince tanıyamadığı için çıkışta kararsızlıklar gözlemlenir.

Sonuç olarak bir YSA; hedeflenen sonucu elde etmek üzere, deneme-yanılma yoluyla belirlenen farklı parametrelerle tasarlanabilir ve elde edilen sonuçlara göre sınanan ağ yapılarının hangisinin en iyi olduğuna karar verilir. Zaman zaman aynı parametrelerle farklı sonuçlara ulaşılması ise ağın, bir lokal minimum veya maksimum değerde takılması gibi durumlarla açıklanabilir.

(31)

2.6 YSA Modelleri

YSA disiplini geniş bir araştırma alanı olup literatürde 100’den fazla ağ modeli ve bunların kullanıldığı çok çeşitli uygulamalar mevcuttur. Popüler ağ modelleri arasında çok katmanlı algılayıcılar, radyal tabanlı fonksiyonlar, Hopfield ağları, öz örgütlemeli haritalar, ART ağları ve hücresel sinir ağları sayılabilir. Ancak burada yalnızca konuşma tanıma probleminde kullanılan ağ yapılarına yer verilecektir.

2.6.1 Çok katmanlı algılayıcı

YSA teknolojisinin ortaya çıktığı ilk yıllarda en çok eleştirildiği husus gerçek dünyada karşılaşılan problemlerin çoğunlukla doğrusal olmaması ve doğrusal yapıdaki YSA’nın bu tür problemlerin çözümü için yetersiz bir teknik olduğuydu. Ancak Rumelhart, Hinton ve Williams tarafından geliştirilen bir ağ yapısı olan Çok Katmanlı Algılayıcı (ÇKA) ile bu sorunun üstesinden gelinmiştir (Rumelhart et al.1986).

ÇKA’lar, ağın beklenen çıktısı ile ağın ürettiği çıktı arasındaki farkı minimize edecek şekilde eğitilir. Ağın yapısı ileri beslemelidir ve döngü içermez. Dolayısıyla bu yapı ile sonuca hızla ulaşılabilmektedir.

Genel olarak ÇKA yapısı bir giriş katmanı, en az bir saklı katman ve bir çıkış katmanından oluşur. Giriş katmanı problemin girdi sayısına bağlı olarak belirlenen sayıda nörondan oluşur. Ağda bulunan saklı katman sayıları ve bu katmanlarda bulunan nöron sayıları ise deneme-yanılma yöntemi ile belirlenir. Şekilde örnek bir ÇKA yapısı görülmektedir.

(32)

Şekil 2.9 Çok katmanlı algılayıcı yapısı

Bu ağ modeli birçok öğrenme algoritmasının kullanımına imkan sağlar ve bu sebepten mühendislik uygulamalarında yaygın olarak kullanılır. ÇKA’lar özellikle tanıma, veri sınıflandırma ve genelleme problemlerinde başarılı sonuçlar vermektedir.

2.6.2 Elman ağları

Elman ağları, yineleyici (recurrent) YSA yapılarına bir örnek olmakla beraber, temelde iki katmanlı geri yayılımlı ağlardır (Elman 1990). Ancak burada, diğer geri yayılımlı ağlardan farklı olarak ilk saklı katmanın çıkışından yine aynı katmanın girişine doğru bir geri besleme döngüsü mevcuttur. Bu geri besleme döngüsü, Elman ağlarının tahmin, tanıma ve eğri uydurma gibi alanlarda kullanılmasına imkan sağlar.

(33)

Şekil 2.10 Elman sinir ağları yapısı

Şekil 2.10’da örnek bir Elman ağ yapısı görülmektedir. Elman ağlarında ilk saklı katman tanjant sigmoid, ikinci katman ise doğrusal transfer fonksiyonlarına sahip nöronlardan oluşmaktadır. Bu nöron kombinasyonu iki katmanlı ağların eğri uydurma problemlerindeki başarımını arttıran özel bir yapıdır. Bu yapı korunarak nöron sayısı uygun şekilde arttırıldığında Elman ağları ile daha karmaşık problemlerin çözümü de mümkün olmaktadır.

(34)

2.6.3 Olasılıksal sinir ağları

Olasılıksal Sinir Ağları (OSA), nöronlar arası bağlantı ağırlıklarının olasılık yoğunluk fonksiyonundan istifadeyle hesaplandığı bir YSA yapısıdır (Specht 1988, 1990).

İstatistiksel temeli nedeniyle sınıflandırma problemlerinde yaygın olarak kullanılmaktadır.

Bir OSA; giriş katmanı, iki adet saklı katman ve çıkış katmanı olmak üzere dört katmandan oluşmaktadır. Bu yapıda, ilk saklı katmanda giriş verisinin eğitim verisine olan uzaklığı hesaplanır. İkinci saklı katmanda ise ilk katmanda hesaplanan uzaklıklar toplanır ve net çıkış vektörü olasılıkları bulunur. Bu şekilde model sınıfları oluşturulmuş olur. Çıkış katmanında ise bu model sınıflarından en yüksek olasılığa sahip model sınıfı ile YSA’nın çıktısı belirlenir. Şekilde örnek bir OSA yapısı görülmektedir (Makal 2007).

Şekil 2.11 Olasılıksal sinir ağları yapısı

(35)

Bu tür ağlarda eğitim aşaması genellikle ÇKA’lardan daha hızlı olmakla beraber sınıflandırma işlemi daha uzun sürebilmektedir. Ancak diğer ağlara göre daha kesin sonuçlar elde etmek mümkündür.

2.7 YSA Özellikleri

Doğrusal olmama

Doğrusal yöntemler, karmaşık problemlerin çözümünde yetersiz kalmaktadır. Ancak YSA teknolojisi gücünü karmaşık problemlere getirdiği basit çözümlerden almaktadır. Bu avantajı sağlayan temel unsur ise YSA’nın temel bilgi işleme elemanı olan nöronların ve dolayısıyla ağın bütünün doğrusal olmayan yapısıdır.

Öğrenme

Alışılagelmiş yöntemlerle çözüm aranan problemler çoğunlukla kendi özelinde çözümlenmeye çalışılmıştır. Oysa bileşenlerinin ilişkileri tam anlamıyla tanımlanamayan problemler de olasıdır. Bu tür durumlarda insan beyninin öğrenme ve öğrenilenler doğrultusunda karar verme yetisi öne çıkmaktadır. YSA da benzer şekilde problemleri eğitim aşamasında ağa verilen bilgilerle çözer. Dolayısıyla çözülecek problemdeki değişiklikler için ağın değil, eğitim verisinin yani YSA’ya öğretilenlerin değiştirilmesi yeterlidir. Öğrenme, gerek uygulama kolaylığı gerekse çözüm kabiliyeti olarak ortaya çıkan önemli bir özelliktir.

Genelleme

Öğrenme, yukarıda bahsedilenlerin yanı sıra YSA’ya genelleme yapılabilmesi gibi bir diğer önemli özellik daha kazandırmaktadır. Genellemenin önemi ise YSA’ya girilen veride gürültü, hata, eksiklik olması gibi durumlarda dahi YSA çıkışında doğru sonuçlar elde

(36)

edilebilmesidir. Bu özellik sayesinde örüntü tanıma ve sınıflandırma problemleri için başarılı bir teknik olmuştur.

Paralellik

Bilgi işleme sistemlerinde gözetilmesi gereken önemli bir husus işlem hızıdır. Ancak problem bütününün tüm parçalarının sırasıyla işlendiği seri yöntemler karmaşık işlemler için hayli yavaşlatıcı olmaktadır. Bu sebepten YSA’nın paralel bilgi işleme özelliği problemlere getirdiği hızlı çözümler sayesinde büyük önem taşır, çünkü gerçek zamanlı sistemlerin temeli paralel bilgi işleme yöntemlerinde yatmaktadır.

Hata toleransı

Paralel bilgi işleme sistemlerinde problem, parçalar halinde ele alındığı ve sistemin her bir elemanı ayrı bir parçanın çözümünü gerçekleştirdiği için olası hatalara karşı daha büyük tolerans vardır. Tasarımdaki bu esneklik sayesinde, ağın herhangi bir kısmının zarar görmesi ağın tamamının işlevini yerine getirememesi anlamına gelmediği gibi sadece, işlevselliğini kaybeden nöronlar oranında bir performans kaybıyla tatminkar sonuçlar elde edilebilir.

Tasarım ve analiz kolaylığı

Tüm YSA tasarımlarının temelinde, YSA’nın en küçük yapay bilgi işleme elemanı olan nöronlar yer alır . Daha önce de bahsedildiği gibi nöronlar yaklaşık olarak aynı yapıdadır ve bu benzerlik sayesinde farklı uygulama alanlarında standart ağ yapılarının ve öğrenme algoritmalarının kullanım imkanı vardır. Teoride aynı olan yöntemlerin ise uygulamada tasarım ve analiz kolaylığı sağlaması olağandır.

(37)

3. SAYISAL SİNYAL İŞLEME

Sayısal Sinyal İşleme (SSİ) teknolojisi, adından da anlaşıldığı gibi sinyallerin sayısal yöntemlerle işlenmesini konu alır.

Bir sayısal sinyal, herhangi bir bilgi katarının sayısal ifadesidir. Bu çerçevede sinyaller bize pek çok şeyi ifade edebilmektedir. Sinyal işleme disiplini ise bahsedilen bu bilgi katarları üzerindeki çalışmaların genel ifadesidir. Ancak sayısal sinyal işleme denildiğinde sinyallerin nümerik hesaplamalar ile işlendiği anlaşılır.

3.1 Temel Bilgiler

Bu çalışmada, detaylarına 4. kısımda değinilecek olan konuşma tanıma problemi ele alınmıştır. Bu problem için YSA’da kullanılacak veri setleri ses sinyallerinden oluşmaktadır. İlerleyen başlıklarda ses sinyallerinin işlenmesi ve YSA’nın girdisi olarak kullanılacak öz nitelik vektörlerinin çıkarımı ile ilgili temel tanımlara kısaca yer verilmektedir.

Ses sinyali : Katı, sıvı ya da gaz ortamda bulunan bir ses kaynağı tarafından üretilen titreşimler dizisine ses sinyali denir. İnsana ait ses sinyali ise en basit şekliyle, akciğerlerden havanın dışarı atılması ile oluşan akımın insanın ses sisteminden geçirilmesi sonucu yayılan dalgalardır.

Frekans : Periyodik bir sinyalin kendisini tekrarlama süresine frekans denir. Frekansın sembolu f ve birimi Hertz’dir. Ses sinyalleri için önemli bir özellik olan frekans, sinyallerin frekans bölgesinde incelenmesi halinde gözetilen temel parametredir.

(38)

Nyquist frekansı : Analog bir ses sinyali örneklenirken, söz konusu sinyalin yeniden oluşturulabileceği şekilde yeterli sayıda örnek ile ifade edilmesi gerekir. Uygun örnekleme frekansının yarı değeri Nyquist frekansı olarak bilinir ve FN ile gösterilir. Bu özelliğin matematiksel ifadesi aşağıda verilmiştir.

FS > 2 FN

Burada FS , örneklenen sinyale ait örnekleme frekansıdır.

Genlik : Sesin bir diğer karakteristiği genliğidir. Bir ses sinyali, kaynağının oluşturduğu basınç değerine göre yumuşak ya da yüksek olabilmektedir. Basınç değerleri, havanın sıkıştırılma gücüne göre değişir. Bu gücün ölçüsü ise decibel birimidir ve dB sembolü ile ifade edilir. Desibel hesabı aşağıda görülmektedir.

n = 10 log 10 ( P2 / P1 )

Yukarıdaki formülde yer alan P1 ve P2 değişkenleri sırasıyla, referans noktasının ve ses sinyalinin güç değerleridir.

PCM : PCM (Pulse Code Modulation), darbe kod modülasyonu tekniğinin kısaltılmış adıdır. PCM, basit oluşunun yanı sıra yaygın kullanıma sahip bir nicemleme yöntemidir. Bu nicemleme yöntemi tezde kullanılan ses verisinin kaydedildiği .wav formatında da kullanılmaktadır.

FFT : FFT (Fast Fourier Transform), hızlı Fourier dönüşümü algoritmasının kısaltılmış adı olup, ayrık Fourier dönüşümü algoritmasının hızlı şeklidir. FFT algoritması, zaman bölgesindeki ses sinyalinin frekans bölgesine dönüşümünü sağlar.

(39)

Spektrum : Spektrum, ses sinyalinin frekans yoğunluğunun belirli aralıklarla alınması ile oluşturulan ifadesidir. Spektrum aynı zamanda periyodogram olarak da adlandırılmaktadır.

Bir ses sinyalinin spektrumu çeşitli yöntemlerle hesaplanabilir. FFT ise bu yöntemlerden en önemlisidir.

LPC : LPC (Linear Predictive Coding), doğrusal öngörüsel kodlama tekniğinin kısaltılmış adıdır. LPC, insan gırtlağı, ağız yapısı ve ses özelliklerinin modellendiği bir sayısal analiz tekniğidir. Bu teknik, sıradaki örneğin önceki bir dizi örnekten yaklaşık olarak elde edilebileceği prensibine dayanır. LPC analizi ile elde edilen sayılar LPC katsayıları (LPCC) olarak adlandırılır.

MFC : MFC (Mel-Frequency Cepstrum), mel frekansı kepstrum tekniğinin kısaltılmış adıdır. MFC, insan kulağının davranışını taklit eden ve FFT tabanlı olarak hesaplanan bir sayısal analiz tekniğidir. Sebebi, bu algoritmanın insan duyma sisteminden esinlenilerek tasarlanmış olan mel frekans ölçeğine göre hesaplanmasıdır. MFC analizi ile elde edilen sayılar MFC katsayıları (MFCC) olarak adlandırılır.

3.2 Öznitelik Çıkarımı2

Bir konuşma tanıma uygulamasında, ses sinyallerinin tanınabilmesi için öncelikle bu sinyallerin doğru şekilde ifade edilmesi gerekmektedir. Diğer bir deyişle, incelenen ses sinyalinin içinde barındırdığı ve yalnızca tanınması hedeflenen kelimeye ait unsurlar belirlenmelidir. Daha sonra belirlenen bu unsurların bir öznitelik vektörü ile ifade edilmesi gerekir.

2 Öznitelik vektörünün belirlenmesine yönelik bu aşama konuşma tanıma sistemlerinin ön-işleme kısmı olarak da adlandırılmaktadır.

(40)

Ses sinyallerinin özniteliklerinin hesaplanması için çeşitli yöntemler vardır. Bu çalışmada kullanılacak öznitelik vektörü ise MFC katsayıları ile oluşturulacaktır. Söz konusu katsayıların hesaplandığı bir MFC algoritmasının blok diyagramı şekilde görülmektedir.

Şekil 3.1 MFC blok diyagramı

Yukarıdaki şekilde görülen aşamalar ilerleyen satırlarda açıklanmaktadır.

3.2.1 Kayan pencereleme

Kayan pencereleme işlemi, ses sinyalinin belirli örnek sayılarına göre bölündüğü aşamadır.

Birisi diğerinden küçük olacak şekilde belirlenen iki örnek sayısı uyarınca bölümlenen sinyal, bu bölümler üst üste bindirilerek yeni bir forma sokulur.

Örneğin ilk pencere M, ikinci pencere ise N örnekle oluşturulduğunda; ikinci çerçeve ilk çerçeveden M örnek kadar sonra başlar ve ilk çerçevenin N-M çerçeve kadar üzerine kaydırılır. Bu şekilde ilerideki aşamalarda ses sinyaline uygulanacak olan FFT için daha uygun bir zemin elde edilir.

(41)

3.2.2 Pencereleme

Pencereleme işleminde, bir önceki işlem olan kayan pencereleme ile elde edilen sinyal bir pencereden geçirilerek süreksiz kısımları atılır. Böylece öznitelik vektörüne katkı sağlamayacak katsayıların azaltılması amaçlanmıştır. Yaygın olarak kullanılan pencere yapısı Hamming penceredir. Bu pencerenin tanımlayıcı fonksiyonu aşağıda verilmiştir (Marven 1996).

w (n) = 0.54 – 0.46 cos [2πn/(N-1)] , N -1 ≥ n ≥ 0

3.2.3 FFT

Bu aşamada, çerçevelenen ve pencerelenen ses sinyalinin genlik spektrumunun incelenmesi gerekir. Pencerelenmiş sinyalin genlik spektrumu ise FFT kullanılarak elde edilir.

N tane örnekle ifade edilen bir sinyal seti için FFT hesaplaması aşağıdaki şekilde yapılır (Marven 1996).

Burada Xn , FFT’si alınmak istenilen sinyal seti, N ise bu sette mevcut örnek sayısıdır.

Ayrıca N, örnek sayısının

N = 2 m , m ∈ Z t

eşitliğini sağlaması gereklidir.

(42)

3.2.4 Mel-frekans dönüşümü

Mel birimi, insan kulağını taklit edecek şekilde, sübjektif olarak tasarlanmış bir birimdir.

Diğer bir deyişle mel birimi doğrusal bir frekans eksenine göre değil, insan kulağının hangi sesi nasıl algıladığına göre geliştirilmiştir (Stevens et al. 1937). Bu birimle oluşturulan doğrusal olmayan seriye ise mel ölçeği denir. Mel ölçeği ile frekans ölçeği arasındaki dönüşüm aşağıda verilen eşitlikle sağlanmaktadır.

f mel = 2595 log 10 ( 1 + f doğrusal / 700 )

Buna göre mel ölçeği 1000 Hz.’den düşük frekanslar için doğrusal, 1000 Hz.’den yüksek frekanslar için ise logaritmik değerlerde dağılım gösterecektir. Bu algısal spektrumu uygulamanın bir yolu mel ölçeğine göre dağılım gösterecek filtreler tasarlamaktır. Söz konusu filtreler sabit mel frekans aralıklarıyla dizilirler. Üçgen ve band geçiren özelliktedirler.

3.2.5 Kepstrum

Son aşama olan kepstrum hesaplamasında sırasıyla, frekans ve zaman bölgelerine geri dönüş söz konusudur. Öncelikle mel frekans dönüşümü ile elde edilen mel filtre bankalarının çıktılarının logaritması hesaplanır. Daha sonra bu sonuçlara ayrık Fourier dönüşümü uygulanarak frekans bölgesinden zaman bölgesine geçiş sağlanır. Böylece incelenen sinyale ait MFC katsayıları elde edilmiş olur.

İlerleyen aşamalarda incelecek ses sinyallerine ait öznitelik vektörleri bu katsayılar ile oluşturulacaktır.

(43)

4. YAPAY SİNİR AĞLARI İLE KONUŞMA TANIMA UYGULAMASI

Bu çalışmada, Yapay Sinir Ağları ile bir Konuşma Tanıma uygulaması gerçekleştirilmiştir.

4.1 Neden Konuşma Tanıma?

Bu çalışmada konu olarak Yapay Sinir Ağları ile Konuşma Tanıma probleminin tercih edilmesinin çeşitli sebepleri vardır. Bu sebepler özetle aşağıdaki şekilde sıralanabilir.

• Konuşma tanıma problemi, literatürde geniş yer tutan örüntü tanıma alanının bir alt konusudur ve bu problem özelinde elde edilen sonuçlar tüm literatüre katkı sağlar niteliktedir.

• Konuşma tanıma, insanların günlük hayatta kolaylıkla gerçekleştirdiği ancak bilgisayarlarla gerçekleştirmek için karmaşık bir problemdir.

• Konuşma tanıma probleminin çözülmesi, insanlara has bilişsel yeteneklerin bilgisayarlara aktarılması çalışmalarında önemli bir kilometre taşıdır.

• Konuşma tanıma problemi, YSA’nın karmaşık problemlerdeki başarımının değerlendirilmesi açısından önemlidir.

• Konuşma sinyalleri, çeşitli sayısal sinyal işleme tekniklerinin başarıyla uygulanabileceği bir çalışma alanıdır.

• Konuşma sinyalleri, YSA’da kullanılacak olan veri setlerinin kolaylıkla elde edilebileceği sinyal örnekleridir.

• Konuşma tanıma, çeşitli otomasyon ve güvenlik sistemlerinde yaygın kullanım alanı olabilecek bir uygulamadır.

(44)

4.2 Konuşma Tanıma Uygulamalarının Sınıflandırılması

Literatürde yer alan ses ile ilgili uygulamalar çok çeşitlidir. Şekilde ses sinyalleri ile ilgili olarak yapılan çalışmaların dört ayrı kritere göre sınıflandırılması görülmektedir.

Çizelge 4.1 Konuşma tanıma sistemlerinin sınıflandırılması

K O N U Ş M A T A N IM A

Konuşmacı Bağımlılığına Göre 1. Konuşmacıya bağımlı konuşma tanıma 2. Konuşmacıdan bağımsız konuşma tanıma

Temel Alınan Ses Birimine Göre 1. Kelime tabanlı konuşma tanıma

2. Fonem tabanlı konuşma tanıma Sesin Sürekliliğine Göre 1. İzole kelime tanıma

2. Bağlı kelime tanıma 3. Sürekli konuşma tanıma

Metne Göre 1. Metne dayalı konuşma tanıma

(45)

4.2.1 Konuşmacı bağımlılığına göre sınıflandırma

Konuşma tanıma sistemleri; konuşmacı bağımlılığına göre kişiye bağımlı ve kişiden bağımsız tanıma olmak üzere 2 başlıkta sınıflandırılır.

Konuşmacıya bağımlı : Bu tür sistemlerde konuşmacıların ses özellikleri de seslendirdikleri kelimelerle birlikte sistemde modellenmektedir. Dolayısıyla kişiye bağımlı sistemlerde farklı bir kişinin seslendirdiği kelimelerin tanınması için sistemde mevcut modellerin aynı konuşmacının seslendirmeleri ile güncellenmesi gerekmektedir.

Konuşmacıdan bağımsız : Bu tür sistemlerde konuşmacıların ses özellikleri, seslendirdikleri kelimelere yansıtılmayacak şekilde modellenir. Dolayısıyla kişiden bağımsız sistemlerde farklı bir kişinin seslendirdiği kelimeler de tanınabilmektedir. Ancak kişiden bağımsız sistemler, kişiye bağımlı sistemlere nazaran daha detaylı bir modelleme çalışması gerektirir.

4.2.2 Temel alınan ses birimine göre sınıflandırma

Konuşma tanıma sistemleri; temel alınan ses birimine göre kelime tabanlı ve fonem tabanlı tanıma olmak üzere 2 başlıkta sınıflandırılır.

Kelime tabanlı : Bu tür sistemlerde gerçekleştirilen tanıma işleminin en küçük unsuru kelimelerdir. Ancak, uygulamada yüksek doğruluk derecesini beraberinde getiren bu sistemlerde gereksinimler daha fazladır. Bu sebepten kelime tabanlı sistemlerde, kelime kapasitesi kısıtlı tutulur ve komuta kontrol uygulamalarında kullanılırlar.

Fonem tabanlı : Bu tür sistemlerde gerçekleştirilen tanıma işleminin en küçük unsuru fonemlerdir. Fon, kelimelerin seslendirilişi esnasında ağızdan çıkan her bir ses, fonem ise bu fonlardan birisinin değiştirilmesi ile anlamı değişen en küçük ses birimidir.

(46)

Temel birim olarak kelimeler yerine fonemler ele alındığında, sistem gereksinimleri azalmakla beraber tasarlanan sistemlerin doğruluk derecesi kelime tabanlı sistemlerden daha düşük olmaktadır. Yanı sıra, fonemlerin başlangıç ve bitişlerinin birbirlerinden ayırdedilebilmesi detaylı ses bilgisi gerektiren, çözülmesi zor bir problemdir (Yalçın 2006).

4.2.3 Sesin sürekliliğine göre sınıflandırma

Konuşma tanıma sistemleri; sesin sürekliliğine göre izole kelime, bağlı kelime ve sürekli konuşma tanıma olmak üzere 3 başlıkta sınıflandırılır.

İzole kelime : Bu tür sistemlerde, konuşmacının seslendirdiği kelimeler arasında belirli sürelerle boşluklar olması beklenir ve bu boşluklar arasında seslendirilen kelimelerin birbirlerinden bağımsız olarak tanınması yoluna gidilir. Kimi zaman her bir kelime üzerinde manuel olarak boşluklar temizlendikten sonra sayısal analiz işlemlerine geçilir.

Bağlı kelime : Bu tür sistemlerde, konuşmacının seslendirdiği kelimeler arasında daha kısa boşluklar bırakılması gerekmektedir. Bu tür sistemlerin bir ileri aşaması konuşmacının, seslendirdiği kelimeler arasında beklemediği sürekli konuşma tanıma sistemleridir.

Sürekli konuşma : Bu tür sistemlerde, konuşmacı herhangi bir bekleme süresi gözetmeksizin olağan şekilde bir hız ve vurgulama ile konuşur. Sürekli konuşma tanıma, insanlardan bilgisayarlara yönelen sesle iletişim arayüzü olabilecek bir teknoloji olup bilgisayarlara dikte ile yazı yazdırılması konusunda uygulama bulabilmektedir.

4.2.4 Metne göre sınıflandırma

Konuşma tanıma sistemleri; tanınması hedeflenen metne göre metne dayalı konuşma

(47)

Metne dayalı konuşma tanıma : Bu tür sistemlerde kullanılan test verisi, eğitim verisi ile sınırlı tutulur. Yani sistem, eğitimde kullanılan kelimelerin farklı seslendirilişleri ile test edilir.

Metinden bağımsız konuşma tanıma : Bu tür sistemler, ağın eğitiminde kullanılan kelimelerin yanı sıra bu kelimelerin eğitim dışı farklı kombinasyonlarına da cevap verebilen yapıdadır. Metinden bağımsız konuşma tanıma sistemlerinde, örneğin ağın eğitiminde “bir” ve “on” kelimeleri ile kullanılıyorsa, sistemin “onbir” kelimesini de tanıması öngörülür.

4.3 Uygulama Çerçevesi

İnsan sesi, uzun yıllardır yoğun olarak araştırılmasına rağmen gerek oluşumu gerekse niteliği itibariyle hala pek çok bilinmeyeni olan oldukça karmaşık bir olgudur. Dolayısıyla bu çalışmadaki konuşma tanıma uygulaması belirli bir çerçeve ile sınırlı tutulmuştur.

Bu kapsamda:

• Konuşmacıya bağımlı olma,

• Kelime tabanlı olma,

• İzole kelimeler kullanma ve

• Metne dayalı olma

kriterlerine sahip bir Konuşma Tanıma sistemin tasarımı üzerinde durulmuştur.

İncelenen konu ve uygulama alanı her ne olursa olsun, niteliksel ve niceliksel karşılaştırma pozitif bilimlerin önemli bir basamağıdır. Dolayısıyla, YSA yapıları ve bu yapıların işleyişi ile ilgili daha iyi bilgi edinilmesi amacıyla, yukarıda kriterleri belirlenen aynı temel konuşma tanıma uygulaması farklı ağ yapıları ile gerçekleştirilmiştir.

(48)

Söz konusu ağ yapıları:

• Geri yayılımlı ÇKA,

• Elman ve

• OSA yapılarıdır.

Bu ağ yapılarının tercih edilmesi temelde deneme yanılma yöntemi ile kararlaştırılmıştır.

Tasarlanan pek çok ağ yapısı içerisinden; geri yayılımlı ÇKA, Elman ve OSA yapıları, konuşma tanıma problemindeki başarımlarının görece yüksek olmasına dayanılarak tercih edilmiştir. Yanı sıra literatürde örüntü tanıma problemlerinin çözümü için önerilen ağ yapıları incelenmiş ve konunun, bu sonuçları destekler nitelikte olup kabul gören çeşitli makalelerle desteklendiği görülmüştür (Rothkrantz and Nollen 1999, Lin 2000, Azam et al.

2007).

4.4 Yazılım Geliştirme

Bu çalışma kapsamında, YSA ile Konuşma Tanıma uygulamasının benzetimi amacıyla bir bilgisayar programı geliştirilmiştir. Yazılım ortamı olarak Matlab 7.0 programı ve anılan programa ait Neural Network Toolbox (NNT) araçları ile Graphic User Interface (GUI) tasarım ortamları kullanılmıştır. Bu yazılım ile Türkçe seslendirilen izole rakamları konuşmacıya bağımlı olarak tanıyan bir sistem hedeflenmiştir.

Söz konusu sistem, sayısal sinyal işleme teknikleri kullanılarak ses sinyallerinin özniteliklerinin çıkarılması ve bu özniteliklerin yapay sinir ağları ile sınıflandırılması esasına dayanmaktadır. Takip eden başlıklarda bu esaslar etraflıca anlatılmaktadır.

(49)

Bir konuşma tanıma uygulamasında, ses sinyallerinin tanınabilmesi için öncelikle bu sinyallerin doğru şekilde ifade edilmesi gerekmektedir. Diğer bir deyişle, incelenen ses sinyalinin içinde barındırdığı ve yalnızca tanınması hedeflenen kelimeye ait unsurlar belirlenmelidir. Daha sonra belirlenen bu unsurların bir öznitelik vektörü ile ifade edilmesi gerekir. Dolayısıyla ilk aşama, ses sinyallerinin doğru bir şekilde sayısal olarak kaydedilmesidir.

Bu çalışmada bir bayan konuşmacıdan ses örnekleri alınmıştır. Konuşmacıdan, 0’dan 9’a kadar (sıfır, bir, iki, üç, dört, beş, altı, yedi, sekiz, dokuz) olan kelimeleri yirmişer defa seslendirmesi istenmiştir. Bu veri setinin seçilmesinin sebebi, çalışmanın literatürdeki diğer örnekleriyle mukayese edilebilmesi, ayrıca bu kelimelerle gerek yoğunluk gerekse anlam yönüyle uygun bir veri tabanı oluşturulabilmesidir.

Bu seslerin kayıt işlemi Goldwave programı ile gerçekleştirilmiştir. Kayıt parametreleri 11,025 kHz. frekans değeri ve 16 bit PCM kodlama olarak belirlenmiştir.

Literatürde ses kayıtlarının kelimenin uzunluğuna bakılmaksızın 0,8 saniyelik kayıt süreleriyle alındığı çalışmalar vardır (Ahad et al. 2002, Azam et al. 2007). Bu gibi kayıt süresini kısıtlayan tercihler seslerin kaydedilme sürecini büyük ölçüde kolaylaştırsa da bir konuşma tanıma uygulamasının en önemli aşaması olan kayıt işlemini hata yapılmasına açık hale getirmektedir. Çünkü kelimelerin seslendirilişleri ile kayıt işleminin aynı anda başlatılmasında güçlükler yaşanmakta ve çoğunlukla konuşmacı ile kayıtları alan uygulayıcı arasında tam bir senkronizasyon sağlanamamaktadır. Ayrıca seslendirilen kelimenin uzunluğundan dolayı kayıt süresinin aşılması veya kelimeyi ifade eden tüm bileşenlerin kaydedilememiş olması da muhtemel bir hatadır.

(50)

Diğer taraftan, kayıt süresinin arttırılması ile bu gibi olumsuzlukların ortadan kaldırılabileceği akla gelmektedir. Ancak bu durumda da gereğinden uzun süre kayıt alınmasıyla beraber işlenmesi gereken verinin yanı sıra ses kayıtlarından temizlenmesi gereken ve kayıt şartlarından kaynaklanan gürültünün artacağı göz önünde bulundurulmalıdır. İşlenecek olan verinin artması en genel anlamda sistemi olası hatalara karşı daha zayıf kılmakta, ayrıca bilgisayar daha fazla işlem yükü getirerek sistem performansını olumsuz yönde etkilemektedir.

Sıralanan tüm nedenlerden dolayı bu çalışmada ses kayıtları kelimelerin uzunlukları ile doğru orantılı sürelerle kaydedilmiştir. Böylece kelimelerin eksik kaydedilmesinin ve kayıt süresinin uzun tutulması ile artacak olan işlem yükünün önüne geçilmesi hedeflenmiştir.

Yani sıra kelimelerin başlangıç ve bitişleri sinyallerin enerji kareleri toplamı ile bulunarak daha etkin bir veri alma süreci sağlanmıştır (Rabiner and Samber 1975).

Sonraki aşama bu ses sinyallerinin özniteliklerinin hesaplanmasıdır ve bunun için çeşitli yöntemler mevcuttur (Lippmann 1989, Rabiner and Juang 1993). Bu çalışmada kullanılan öznitelik vektörlerinin hesaplanmasında, üçüncü bölümdeki Sayısal Sinyal İşleme başlığı altında detayları verilen MFC katsayıları kullanılmaktadır. Yine aynı bölümde anılan katsayıların hesaplandığı MFC algoritmasının blok diyagramına da yer verilmiştir. Bu blok diyagramda mevcut işlemler Matlab programı ile, her biri için ayrı .m dosyaları hazırlanarak, sırasıyla gerçekleştirilmiştir. Bu işlemlerde kullanılan parametreler Çizelge 4.2’de sunulmaktadır.

(51)

Çizelge 4.2 MFC hesabında kullanılan parametreler

Örnekleme hızı 11,025 kHz.

Veri seti Türkçe rakamlar

Konuşmacı 1, bayan

Tekrar sayısı 20

Pencere fonksiyonu Hamming

Pencere sayısı 256

FFT noktası 512

MFC katsayı adedi 16

Yukarıdaki parametreler kullanılarak, Matlab’de oluşturulan MFCC.m dosyası ile her bir kelime için 16 adet Mel-frekans katsayısı belirlenmiştir. Bir kelimenin doğru ifade edilebilmesi için 16 katsayının yeterli olup olmadığı ise, diğer ağ parametrelerinin de benzer şekilde belirlendiği gibi, deneme-yanılma yöntemi ile kararlaştırılmıştır.

Daha sonra bu katsayılar kullanılarak ve yine her bir kelime için ayrı ayrı olmak üzere, uzunlukları kelimelerin uzunlukları ile orantılı 10 adet öznitelik vektörü oluşturulmuştur.

Takiben, elde edilen öznitelik vektörleri ile kelimelerin modellenmesi ve test edilmek istenen kelimelerin bu modellere göre sınıflandırılması süreci gelmektedir. Bu çalışmanın modelleme ve veri sınıflandırma kısmında, aynı zamanda çalışmanın esas konusunu teşkil eden ve yanı sıra, örüntü tanıma problemlerinde sıklıkla kullanılan başarılı bir sınıflandırıcı olan YSA tercih edilmiştir (Haykin 1999, Öztemel 2006).

(52)

Literatürde çeşitli ağ modellerinin kullanıldığı pek çok çalışma mevcuttur. Ancak bu tür çalışmalarda genellikle tek bir ağ modeli kullanılmakta ve o modelin performansı üzerinde durulmaktadır. Burada diğer çalışmalardan farklı olarak çok katmanlı algılayıcı, Elman ağları ve olasılıksal sinir ağları olmak üzere üç ağ modeli kullanılmıştır. Böylece genel sistem performansının yanı sıra göreceli ağ performanslarının da değerlendirilmesi imkanı doğmuştur.

Uygulamada kullanılan geri yayılımlı ÇKA, Elman ve OSA yapıları, Matlab NNT’de mevcut olan ve sırasıyla newff, newelm, newpnn komutları ile gerçekleştirilmiştir. Bu ağların seçilmesindeki başlıca kriter yapılan literatür taraması ile ulaşılan bilgilere göre örüntü tanıma problemlerindeki genel başarımları olmuştur. Yanı sıra tasarım ve uygulama kolaylığı, ağın eğitilmesi için gereken sürenin az olması, ağın işlem yükünün hafifliği gibi diğer bazı kriterler de gözetilmiştir. Söz konusu üç ağ türünün konuşma tanımadaki başarımlarına bu tezin sonuç kısmında değinilecektir.

Yukarıda sıralanan ağ modellerine ilişkin tasarım parametreleri deneme-yanılma yöntemiyle belirlenmiş ve aşağıdaki başlıklarda verilmiştir.

Geri yayılımlı ÇKA

Geri yayılımlı ÇKA modelinin tasarımı için Matlab programı work dizininde mevcut egit1.m dosyasında yazılan kod satırları aşağıda sunulmuştur.

newff ( [20 20 15 10], {'tansig', 'tansig', 'tansig’, 'purelin'});

NNet_CurveFitting.trainParam.epochs = 200;

NNet_CurveFitting.trainParam.goal = 1e-6;

(53)

Kod satırlarında da görüldüğü gibi ağ yapısı üç adet saklı katman ve bir adet çıkış katmanından oluşmaktadır. İlk iki saklı katmanın her birinde 20’şer, üçüncü saklı katmanda 15 ve çıkış katmanında 10 adet nöron kullanılmıştır. Bu nöronlardan saklı katmanlarda yer alanlar tanjant sigmoid, çıkış katmanında yer alanlar ise doğrusal transfer fonksiyonlarına sahiptir. Ayrıca ağın eğitim aşamasında kullanılacak olan yineleme sayısı 200 ve ulaşılması hedeflenen ortalama karesel hata oranı ise milyonda bir olarak tasarlanmıştır.2

Elman ağı

Elman ağının tasarımı için Matlab programı work dizininde mevcut egit2.m dosyasında yazılan kod satırları aşağıda sunulmuştur.

newelm ( [40 30 10], {'tansig', 'tansig', 'logsig'});

NNet_CurveFitting.trainParam.epochs = 1000;

NNet_CurveFitting.trainParam.goal = 1e-6;

Bu satırlarda da görüldüğü gibi ağ yapısı iki adet saklı katman ve bir adet çıkış katmanından oluşmakta ve bu katmanlarda sırasıyla 40, 30 ve 10 adet nöron bulunmaktadır.

Ayrıca bu nöronlardan saklı katmanlarda yer alanlar tanjant sigmoid ve doğrusal, çıkış katmanında yer alanlar ise logaritmik sigmoid transfer fonksiyonları kullanmaktadır. Ayrıca ağın eğitim aşamasında kullanılacak olan yineleme sayısı 1000 ve ulaşılması hedeflenen ortalama karesel hata oranı ise milyonda bir olarak tasarlanmıştır.3

2, 3 Sistem, eğitim aşamasında bu değerlerden hangisine daha önce ulaşırsa o parametre esas alınarak eğitim

işlemi sonlandırılmaktadır.

Şekil

Updating...

Referanslar

Benzer konular :