Çok Düzeyli Statik Bellek Gözesi Ve Kohonen Türü Yapay Sinir Ağına Uygulanması

thumbnail.default.placeholder
Tarih
1999
Yazarlar
Özelçi, Yaman
Süreli Yayın başlığı
Süreli Yayın ISSN
Cilt Başlığı
Yayınevi
Fen Bilimleri Enstitüsü
Institute of Science and Technology
Özet
Yapay sinir ağı modelleri, insan beyninin konuşma ve görüntü tanıma gibi bazı yeteneklerini yapay olarak gerçekleştirebilmek amacıyla geliştirilmişlerdir. Biyolojik sinir sistemlerinden esinlenen bu modeller, yoğun şekilde bağlanmış basit işlem elemanlarının (hücre) paralel olarak çalışmalarına dayanırlar ve bu özellikleri nedeniyle tümleştirilmeye son derece uygundurlar. Sinir sistemlerinde hücreler birbirlerine ağırlıklar aracılığı ile bağlıdırlar. Bir hücrenin işlevi, uygulanan girişleri kendinde sakladığı bağlantı ağırlıkları ile çarparak girişlerin ağırlıklı toplamlarını hesaplamak ve sonucu doğrusal olmayan bir fonksiyondan geçirerek diğer hücrelere iletmektir. Bilgiler hücrelerde öğrenme sırasında değerleri uyarlanan bağlantı ağırlıkları olarak saklanırlar. Öğrenebilir yapay sinir ağı modellerinin tümleştirilmesinde karşılaşılan en önemli sorun, analog ağırlık katsayılarının uyarlanabilir şekilde saklanacağı analog bellek elemanlarına gereksinme duyulmasıdır. Analog bellek elemanı olarak yüzer geçitli elemanların, MOS kapasitelerinn ya da sayısal belleklerin kullanıldığı çeşitli yapay sinir ağı uygulamaları bulunmaktadır. Her yöntemin kendine özgü sakıncası vardır: Yüzer geçitli elemanlar özel üretim teknolojileri kullanılarak üretilmekte ve uyarlama için karmaşık yazma/okuma devrelerine gerek duymaktadırlar. Analog ağırlıkların MOS tranzistörlerin geçit kapasitelerinde saklandığı yöntemde ise, kapasitelerin kaçak akımlar nedeniyle zamanla boşalmalarını engellemek amacıyla tazeleme devrelerinin kullanılması gerekmektedir. Sayısal belleklerde saklı ağırlıkların analog öğrenme kurallarına göre uyarlanmaları ise, ancak karmaşık analog-sayısal dönüştürücüler ya da çift yönlü kaydırma yöntemleri kullanılarak sağlanabilmektedir. Bu çalışmada yeni bir çok düzeyli statik bellek yapısı geliştirilmiş ve analog saklama elemanı olarak bir yapay sinir hücresi tasarımının gerçekleştirilmesinde kullanılmıştır. Geliştirilen bellek yapısının standart CMOS üretim sürecine tam uyumlu olma, tazeleme devreleri gerektirmeme ve analog işaretlere doğrudan bağlanabilme özellikleri diğer saklama yöntemlerine göre olumlu yönlerini oluşturmaktadır. Buna karşın, belleğin düzey sayısının az olması kullanımını yüksek ağırlık katsayısı çözünürlüğü istemeyen uygulamalarla sınırlı kılmaktadır. Geliştirilen çok düzeyli bellek yapısı; gerilime dayalı çalışmasından dolayı, akıma dayalı yapıların tersine durağan halde güç harcamamakta, statik olması nedeniyle de tazeleme devrelerine gerek duymamaktadır. Genel olarak gerilime dayalı çok düzeyli bellek yapılarında lojik düzeyler, ya tranzistör boyut oranları ile ya da farklı tranzistörlere farklı eşik ayar ekimi yapılarak ayarlanırlar. Burada sunulan bellek yapısı ise, hem tranzistör boyut oranlarından bağımsız olarak işlevini gerçekleştirmekte, hem de farklı eşik ayar ekimi gibi standart dışı üretim süreçlerine gerek duymamaktadır. Yapı, düzey başına dört tranzistörlü bir birim göze kullanmakta olup, bu gözelerin tekrarlanmasından oluşmuştur. Birim göze, bir evirici ve evirici tarafından kontrol edilen iki yol tranzistörü içermektedir. Bellek yapısına uygulanabilecek en düşük lojik düzey gerilimini, ve dolayısı ile belli bir besleme gerilimi için bellekte saklanabilecek düzey sayısını sınırlayan, göze tranzistörlerinin iletim koşullarıdır. Sıfırdan farklı kaynak-taban gerilimleri ile çalışan göze tranzistörlerinin eşik gerilimleri, gövde etkisi nedeniyle büyümektedir. Bu etkiyi azaltmak amacıyla, PMOS tranzistörler bağımsız N-kuyularda gerçekleştirilerek kaynak-taban gerilimlerinin olabildiğince küçültülmesi sağlanmıştır. vıı Bellek, 5V besleme gerilimi altında dört düzeyli olarak çalışabilmekte ve 12 tranzistör içermektedir. Göze tranzistörlerinin iletim koşulları tarafından dört olarak belirlenen düzey sayısının, tranzistörlerin eşik altında çalışmalarına izin verilmesi durumunda altıya çıkarılabileceği ölçüm sonuçlarından görülmektedir. Altı düzeyli çalışma durumunda, bellek çıkış akımı nano Amper düzeyine kadar düşmekle beraber, yine de bu akım saklama düğümü kaçak akımlarını yenecek kadar büyüktür. Bll nedenle, eşik altı çalışma durumunda da belleğin statik saklama yeteneği sürmektedir. Bellek, altı düzeyli saklama işlevi için 20 tranzistör kullanmaktadır. Geliştirilen bellek yapısı dört düzeyli olarak, 5 boyutlu analog giriş vektörlerini denetimli veya denetimsiz şekilde 4 sınıfa ayıran Kohonen türü bir vektör kuantalayıcının gerçekleştirilmesinde kullanılmıştır. Devrede her sınıf bir hücre tarafından temsil edilmekte, hücrelerin ağırlık katsayıları temsil ettikleri sınıfların ağırlık merkezlerinin koordinatlarını oluşturmaktadır. Devreye bir giriş vektörü uygulandığında, en yakın ağırlık merkezine sahip hücre çıkışını lojik 1 düzeyine yükselterek girişin ait olduğu sınıfı belirtmektedir, öğrenme, bu hücrenin ağırlık merkezini girişe yaklaştıracak şekilde ağırlık katsayılarını uyarlaması ile gerçekleşmektedir. Başka bir anlatımla, devre, aynı sınıfa ait herhangi iki vektör arasındaki uzaklık farklı sınıflara ait vektörler arasındaki uzaklıktan daha kısa olacak şekilde giriş vektörlerini sınıflara ayırmaktadır. Ayrıca, kullanıcıya bağlantı ağırlıkları hakkında bilgi sağlayan dışarıdan ağırlık okuma yeteneği de devreye eklenmiştir. Kohonen'in vektör kuantalama algoritması; giriş vektörü ile hücre ağırlık vektörleri arasındaki uzaklıkların hesaplanmasına, hücreler arasında girişe en yakın uzaklığa sahip olanın belirlenmesine ve bu hücrenin ağırlık vektörünün değiştirilerek giriş vektörüne olan uzaklığının azaltılmasına dayanmaktadır. Bu algoritmayı gerçekleştirmek üzere tasarlanan devre başlıca dört yapı bloğundan oluşmaktadır: Analog girişlerin örneklenip kuantalandığı giriş örnekleyici/tutucu yapıları, ağırlık katsayılarının saklandığı ve uyarlandığı bellek yapıları, giriş vektörü ile hücre ağırlık vektörleri arasındaki uzaklıkların hesaplandığı mutlak fark alma yapıları, hesaplanan uzaklıklara bağlı olarak giriş vektörüne en yakın uzaklığa sahip hücreyi belirleyen en büyüğü seçme yapısı. Geliştirilen dört düzeyli bellek gözesi, yalnızca ağırlık katsayılarının saklanması ve uyarlanmasında değil, aynı zamanda giriş örnekleme ve tutma yapılarının gerçekleştirilmesinde de kullanılmıştır. Kohonen'in özgün algoritmasında uzaklık hesabı giriş vektörü elemanları ile hücre ağırlık vektörü elemanları arasındaki farkların karelerinin toplamına dayanırken, buradaki gerçeklemede farkların mutlak değerlerinin toplamı uzaklık ölçütü olarak kullanılmıştır. Vektör kuantalayıcı tümdevre TÜBİTAK-YITAL'de 3fam, çift poli, tek metal N-kuyu CMOS süreci kullanılarak üretilmiş olup 2.5mmx2mm'lik bir kırmık alanı kaplamaktadır. Devre OV, 1.67V, 3.33V ve 5V lojik düzey gerilimleri ile beslenmektedir. %ı, X2, X3, X4, X5 ' çift yönlü analog giriş/çıkış uçları olup hem giriş vektörünün devreye uygulanması hem de hücre ağırlık vektörünün dışarıdan okunması amacıyla kullanılmaktadırlar. 'C^,02,03,04' ise çift yönlü sayısal giriş/çıkış uçlarıdır. Sınıflama sonuçları bu uçlardan dışarı verilmektedir. Denetimli öğrenme ve dışarıdan ağırlık okuma işlemleri sırasında, kullanıcı istediği hücreyi bu uçlar aracılığı ile seçebilmektedir. Devrenin ayrıca 'SAAT', 'BAŞLA' girişleri, 'Ki', 'K2' kontrol girişleri ve 'BİTTİ' çıkışı bulunmaktadır. 'BAŞLA' girişine O'dan Ve çıkan bir işaret verildiğinde devre bir kere koşarak 'BİTTİ' çıkışında bir darbe üretmektedir. Devre, 'BAŞLA' girişine uygulanacak darbelerle adım adım koşturulabileceği gibi, 'BİTTİ' çıkışı 'BAŞLA' girişine kısa devre edilerek serbest olarak da çalıştırılabilir. 'K-T, 'K2' kontrol girişlerine verilen değerlere bağlı olarak devrenin dört ayrı çalışma durumu vardır: vııı 'Ki = O', 'K2 = O' için kuantalayıcı denetimsiz olarak sınıflama yapmaktadır. Bu durumda devre, girişe en yakın hücreyi seçmekte, ilgili 'O' çıkışını lojik 1 düzeyine getirmekte ve seçilen hücrenin ağırlık katsayılarını giriş vektörüne yaklaştıracak şekilde uyarlamaktadır. 'Ki =1', 'K2 = 0' için devre yalnızca sınıflama yapmakta, kazanan hücreyi belirlemekte ancak ağırlık katsayılarını uyarlamamaktadır. 'Ki = 0', 'K2 = 1' için kuantalayıcı denetimli olarak öğrenmektedir. Bu durumda kullanıcı, yüksek empedans gösteren 'O' uçlarından birine lojik 1 uygulayarak istediği hücreyi seçmekte ve kazanan hücre yerine bu hücrenin ağırlık katsayılarının uyarlanmasını sağlamaktadır. Böylece hücre istenilen ağırlık merkezini öğrenmeye dışarıdan zorlanmaktadır. 'Ki = 1', 'K2 = 1' için ise, kullanıcının ilgili 'O' ucuna lojik 1 uygulayarak seçtiği hücreye ait ağırlık katsayıları 'X' uçlarından okunmak üzere dışarı verilmektedir. Vektör kuantalayıcıyı oluşturan dört temel yapı bloğu, bir test kırmığında ayrık olarak üretilmişler ve karakterize edilmişlerdir. Vektör kuantalayıcı devreyi sınamak için ise bilgisayar destekli bir ölçüm düzeni kurulmuştur. Bilgisayar, analog 4'e-1 seçiciler aracılığıyla dört düzeyli test vektörlerini kuantalayıcıya uygulamakta, daha sonra kunatalayıcıyı bir adım koşturmakta ve her hücreye ait ağırlık vektörü değerlerini bir analog-sayısal dönüştürücü yardımıyla okumaktadır. Böylece bilgisayar, vektör kuantalayıcıyı adım adım çalıştırmakta ve her adımın sonunda ölçülen ağırlık vektörlerini beklenen değerlerle karşılaştırmaktadır. Devrenin her dört çalışma durumu da sınanmıştır. Ölçülen on kırmık arasından beşi tüm sınamalardan geçmiştir. Devreye uygulanabilecek en büyük saat frekansı 5MHz olarak belirlenmiştir. Geliştirilen bellek yapısı, giriş uzayının çok yakın küme merkezleri içermediği, dolayısı ile düşük ağırlık katsayısı çözünürlüğünün kabul edilebildiği yapay sinir ağı uygulamalarında etkin biçimde kullanılabilir. Bu yapı, ayrıca, çok düzeyli RAM ya da D-tip tutucu olarak da çok düzeyli lojik devrelerin gerçekleştirilmesinde kullanılmaya son derece elverişlidir.
Artificial neural network models have been developed, in the aim of artificially realizing some of the abilities of human brain such as speech and image recognition, via being. These models which are inspired by biological neural systems are composed of densely interconnected simple computational elements (neuron) operating in parallel. These properties make them very suitable for VLSI implementation. In neural systems the neurons are connected via weights. The function of a neuron is to multiply the applied inputs by the stored connection weights in order to calculate the sum of weighted inputs and transmit the result to other neurons after passing it through a nonlinear function. The information is stored in neurons as connection weights that are adapted during learning. The main problem in implementing trainable neural network models is the need of analog memory elements to store analog adaptable connection weights. Floating gate devices, MOS capacitors and binary memory cells are widely used in neural network applications as analog storage elements. Each of these approaches has different disadvantages: Floating gate devices are not compatible with standard CMOS production technology and they use complex write/read circuitry for adaptation. The method based on the storage of analog weights in the gate capacitances of MOS transistors require the use of refreshing circuitry in order to prevent the decay of the capacitor voltages due to leakage currents. The weights stored in binary memory cells can not be updated by analog learning rule instructions unless complex analog-to-digital converters or bidirectional shifting techniques are employed. In this work, a new multiple valued static memory cell has been developed and used as analog storage element in the realization of an artificial neural cell design. The proposed memory cell is fully compatible with standard CMOS production technology, does not require refresh operations and offers direct interface to analog signals. These properties constitutes the advantages of this storage approach over the other methods. However, the limited number of storage levels available from the proposed memory cell restricts its usage to the applications where low weight resolution is acceptable. The developed memory cell, operating in voltage mode, does not dissipate power in standby contrary to current mode cells, and being static, does not necessitate refresh circuitry. Generally, in voltage mode multiple valued logic cells, the logic levels are set either by ratioing transistor sizes or by performing different threshold adjustment implants to different transistors. The proposed memory cell operates independently from the transistor size ratios in the sense that it retains functionality regardless of the geometric aspect ratios selected for transistors and does not require non-standard process steps such as different threshold adjustment implants for production. The memory is constructed by replicating the four-transistor unit cell for each level. The unit cell consists of an inverter and two gating transistors controlled by this inverter. The minimum logic level voltage that can be applied to the memory, and consequently, the maximum number of logic levels that the memory can store for a certain supply voltage are limited by the conduction conditions of the cell transistors. These conditions impose that the separation between neighbouring storage levels must be larger than one device threshold. The threshold voltages of the cell transistors operating with nonzero source-substrate bias are subject to inflation due to body effect. In order to reduce this effect, the substrate-source voltages of PMOS transistors are minimized by realizing the devices in individual N-wells. The memory cell is able to perform tetrastable operation with 5V supply voltage and contains 12 transistors for this configuration. The measurement results show that the number of storage levels, determined as four by the device conduction conditions, can be extended to six by allowing subtreshold operation of the gating devices. In this hexastable operation mode, although the output current of the memory is reduced down to nano Ampere range, it is still greater than storage node leakage currents. For this reason, the memory retains its static storage capability even in the subtreshold operation mode. The memory contains 20 transistors for six-level storage. The developed memory cell is used in tetrastable form in the realization of a Kohonen type vector quantizer which is capable of classifying 5-dimensional analog input vectors into 4 classes with or without supervision. In the circuit, each class of input vectors is represented by a separate neuron. The connection weights of a given neuron approximate the coordinates of the centroid of the class represented by that neuron. Each time an input vector is applied, only the neuron of the nearest centroid produces a logical '1' output indicating membership to the class it represents. Learning is performed by the adaptation of weight vectors to move the centroid of this neuron in the direction of input vector. In other words, the network sorts out input vectors into classes in a such a way that the distance between any two vectors belonging to the same class is shorter than the distance between any vector belonging to different classes. The weight read-out facility is built into the network to provide the user information about the connection weights. Kohonen's vector quantization algorithm is based on the calculation of the distances between the input vector and weight vectors stored in neurons, on the selection of the neuron closest to the input, and on the modification of the selected neuron weight vector in order to decrease its distance to the input vector. The circuit designed to realize this algorithm principally consists of four building blocks: input sample/hold structures where analog input signals are sampled and quantized, memory structures where weight vectors are stored and adapted, absolute difference calculating structures where the distances between input vector and neuron weight vectors are calculated, and a Winner-Take-All circuit where the neuron with the smallest distance to input is determined. The developed tetrastable memory cell is not only used in the storage and adaptation of neural weights but also in the realization of input sample/hold structures. Although in the original Kohonen's algorithm the distance calculation is based on the summation of the squared differences between weight vector elements and corresponding elements of the input vector, in this realization the summation of the absolute values of the differences is used as a measure of distance. The vector quantizer chip has been fabricated by TÜBİTAK-YİTAL 3^m double polisilicon single metal n-well CMOS process and consumes a die area of 2.5mm x 2mm. The circuit operates with 0V,1.67V,3.33V,5V rail voltages. 'Xi.Xz.Xs.X^Xs' are bidirectional analog input/output pads. They are used for applying analog input vectors to the circuit and also for transferring the neural weight vectors out of the chip to realize weight read-out facility. 'Oi.C^.Os.CV are bidirectional digital input/output pads. The classification results are output from this pads. During supervised learning mode and weight read-out mode operations, these pads are XI used to select the neuron that the supervisor wants to reach. The circuit has also 'CLK', 'START, 'K^'Kz inputs and 'STOP' output. When a raising signal is applied to the 'START input, the quantizer run one step and produces a pulse signal at 'STOP' output. It is possible to run the quantizer step by step by applying pulses to 'START input. If the 'STOP' output is tied to 'START input, the circuit operates in free run mode. The circuit has four run modes controlled by 'Kı','^' control inputs: For '«! =0', 'K2 =0' the quantizer classifies in unsupervised mode. It selects the neuron closest to input, produces a logical T at the related 'O' output, and adapt the weights of the selected neuron. For 'K^ =1','K2 =0' it is in the simple classification mode. It selects the winner neuron but does not adapt its weights. For 'K, =0','K2 =1' 'O' pads are in high-impedance state. The supervisor apply logical '1' to one of the 'O' pads and the related neurons weights are adapted independently from the winner. Thus, the neurons are externally forced to learn the centroids determined by the user. For % =1','K2 =1' the weight vector of the neuron that the user selected applying logical '1' to the related 'O' pad, can be readout from the 'X' inputs. The four principal building blocks forming the vector quantizer have been produced separately in a test chip and their characterisations have been performed. The measurements of the vector quantizer chip has been performed using a computer aided test setup. The computer applies four valued test vectors to the quantizer via 4-to-1 analog multiplexers, then runs the device one step and reads the weight vectors of each neuron using an A/D converter. Thus, the computer runs the quantizer step by step and at the end of each step it compares the measured weight vectors with the expected ones. All four run modes of the device have been tested. Among the ten measured devices, five devices passed all tests. The maximum clock frequency that can be applied to the device has been found as 5 MHz. The developed memory cell can be effectively used in neural network applications where input space does not contain very closely spaced cluster centers, and consequently low weight resolution is acceptable. This cell is also very suitable to be used as multiple valued RAM or D-type latch in the realization of multiple valued logic circuits.
Açıklama
Tez (Doktora) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 1999
Thesis (Ph.D.) -- İstanbul Technical University, Institute of Science and Technology, 1999
Anahtar kelimeler
Kuantumlama, VLSI, Vektörler, Yapay sinir ağları, Quantization, VLSI, Vectors, Artificial neural networks
Alıntı