Artificial Intelligence - هوش مصنوعی  
انجمن را در گوگل محبوب کنيد :

بازگشت   Artificial Intelligence - هوش مصنوعی > محاسبات نرم > شبکه های عصبی (Neural Networks)


 
تبليغات سايت
Iranian Association for the Advancement of Artificial Intelligence
ارسال تاپيک جديد  پاسخ
 
LinkBack ابزارهاي تاپيک نحوه نمايش
قديمي ۰۹-۱۳-۱۳۸۸, ۱۱:۵۰ قبل از ظهر   #1 (لینک دائم)
Administrator
 
آواتار Astaraki
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: تهران-کرج!
پست ها: 3,465
تشكرها: 754
16,337 تشكر در 3,127 پست
My Mood: Mehrabon
ارسال پيغام Yahoo به Astaraki
Arrow شبکه ی همینگ (Hamming Network)

شبکه ی همینگ (Hamming Network)

مقدمه

قبل از شروع بحث راجع به شبکه ی همینگ باید با برخی اصطلاحات آشنا شویم. اولین تعریف مربوط به فاصله ی همینگ می شود. فاصله ی همینگ بین دو بردار X و Sj برابر تعداد مولفه های دو بردار است که با هم متفاوت هستند، که با dj نمایش داده می شود. تعریف بعدی مربوط به مفهوم میزان تشابه دو بردار است. میزان تشابه دو بردار عبارتست از تعداد مولفه های برابر دو بردارکه آن را با aj نمایش می دهند. پس با توجه به تعاریف ارائه شده داریم:

aj=n-dj

اکنون اگر فرض کنیم که دو بردار دو قطبی باشند(فقط حاوی مقادیر 1 و 1- ) آنگاه می توان روابط زیر را ارائه نمود:

Sj.X=aj-dj=aj+aj-n=2aj-n , aj=0.5*Sj.X+0.5*n=0.5*Ssijxi+0.5*n



مدل ساختاری یک واحد از شبکه ی همینگ



بعد از ارائه ی توضیحات اولیه اکنون به بحث پیرامون هدف ارائه ی این شبکه می پردازیم. در شبکه ی همینگ تعدادی از نورون ها شبیه شکل فوق، تعدادی بردار نمونه را ارائه می دهند و شبکه میزان شباهت X ورودی به هر یک را بدست می دهد. بزرگترین خروجی شبیه ترین بردار نمونه به X را مشخص می کند. این بزرگترین خروجی را می توان با استفاده از یک لایه شبکه ی MaxNet مشخص کرد.

ساختار شبکه

همانگونه که در بخش بالا اشاره شد این شبکه از دو بخش تشکیل یافته است، بخش اول که هر واحد آن معرف یک بردار می باشد که قصد مقایسه ی ورودی با آن را داریم و وزن اتصالات آن نیز بر اساس تعاریف از قبل مشخص و تنظیم می شود، بخش دوم شبکه یک لایه ی شبکه ماکس نت است که جهت تعیین بزرگترین خروجی از بخش اول استفاده می شود و بدین طریق کار تشخیص شبیه ترین بردار به بردار ورودی انجام می گیرد. شکل ذیل ساختار این شبکه را نمایش می دهد.

مدل ساختاری شبکه همینگ


الگوریتم کار شبکه

فرض اولیه ذیل را در نظر می گیریم :

n : تعداد عناصر بردار ورودی

m : تعداد بردارهای نمونه

Sj ، j=1,...,m : بردار های نمونه

0- تعیین وزن های شبکه بر اساس رابطه ی ذیل

wi,j=0.5sij ,i=1,...,n j=1,...,m

1- برای هر بردار X قدم های 2 الی 4 را انجام می دهیم.

2- محاسبه خروجی خطی واحدها:

,j=1,...,m

3- تعیین مقادیر اولیه شبکه ماکس نت

yj(0)=yi j=1,...,m

4- الگوریتم ماکس نت انجام می شود
Astaraki آفلاين است   پاسخ با نقل قول
از Astaraki تشكر كرده اند:
Faa916 (۰۹-۲۶-۱۳۹۶), hamid64 (۰۷-۲۶-۱۳۹۱)

  #ADS
نشان دهنده تبلیغات
تبليغگر
 
 
 
تاريخ عضويت: -
محل سكونت: -
سن: 2010
پست ها: -
 

نشان دهنده تبلیغات is online  
قديمي ۰۹-۱۳-۱۳۸۸, ۱۱:۵۶ قبل از ظهر   #2 (لینک دائم)
Administrator
 
آواتار Astaraki
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: تهران-کرج!
پست ها: 3,465
تشكرها: 754
16,337 تشكر در 3,127 پست
My Mood: Mehrabon
ارسال پيغام Yahoo به Astaraki
Thumbs up

Subject: Applications of Artificial Intelligence
Project: Hamming Neural Network - classifier
Authors: Stanisław Kamiński, Marcin Samborski
Translation: Łukasz Adamowicz, Piotr Szopa
Supervisor: MSc. Adam Gołda


Hamming’s classifier – description

This project describes the properties, applications, and creation process of the Hamming Neural Network, working as the signals classifier.

You may notice that the model of network described in this project may be a little different than one described in a professional literature. That’s because we created our network to implement it in the Matlab environment. Nevertheless, the network works correctly.

What kind of signals does the Hamming Network process?

Although the network works in an analog way, it processes binary signals – on the other hand, those signals can be “noisy”, and have continuous values, not only zeros and ones.

What does the Hamming Network look like?




In the picture presented above we can see the Hamming Network. It can be divided into two basic sections:

* input layer – a layer built with neurons, all of those neurons are connected to all of the network inputs;
* output layer – which is called MaxNet layer; the output of each neuron of this layer is connected to input of each neuron of this layer, besides every neuron of this layer is connected to exactly one neuron of the input layer (as in the picture above).

It’s easy to see, that both layers have the same number of neurons.

How does the Hamming Network work?

Input layer neurons are programmed to identify a fixed number of patterns; the number of neurons in this layer matches the number of those patterns (M neurons – M patterns). Outputs of these neurons realise the function, which “measures” the similarity of an input signal to a given pattern.

The output layer is responsible for choosing the pattern, which is the most similar to testing signal. In this layer, the neuron with the strongest response stops the other neurons responses (it usually happens after few calculating cycles, and there must be a “0” on x(i) inputs during these cycles).

There should be the “1 of M” code used on the output, which points at the network answer (1 of M patterns is recognized). To achieve this, proper transfer function has to be used – in our case the best function was



How are the connections weights created?

Weights of the input layer neurons

Those weights are set to assure that the maximal responses of all neurons are equal, and that exactly one pattern causes specific neuron to response. There is no need to teach network to achieve that, it’s sufficient to mathematically set weights.

Weights of the input layer


where:

* w(i,j) is the weight of the connection between neuron “j” and the input “i”
* x(i,j) is the value of signal “i” in pattern “j”

This equation becomes obvious, when we recall that the product of weights and impulses of a neuron can be interpreted as the cosinus of the angle between the weight vector and the impulse vector. When these vectors are equal, the neuron output will be “1”, when vectors are different, the output value range will be from –1 to 1.

Input weights of the output layer neurons

At first, we need to determine the number of the output layer neurons inputs.

Each of those neurons is connected:

* to itself – weight=1
* to all of neurons of the output layer – weight of each connection is -1/M
* to appropriate neuron of the input layer – weight=1

An example

To familiarize ourselves with the Hamming classifier, we made a network in the Matlab environment. Its task is to recognize 1 of 8 signs recorded in the network “memory”. The picture below shows 8 used signs:

Signs used as patterns


The matrices that represent these signs are two-dimensional (3x5 pixels), but it was more convenient to write them as a single row (15 positions) vectors. Black squares are ones, white squares are zeros. To make proper calculations, we normalised all of the row vectors.

We want to classify 8 signs, so our network will contain 16 neurons, divided into 2 groups, 8 neurons in each layer.

Weights of the input layer are predefined as transposed matrix of signs – previously normalised.

Weights of the output layer are defined according to the previously stated assumptions (see ‘Input weights of the output layer neurons’ section), and the ‘–1/M’ parameter in our case was set to ‘–1/8’. We cannot forget that it is necessary to normalise rows of that matrix.

Neuron activation function that we have chosen is:

Function


We assumed that 15 calculating cycles in the output layer will be sufficient to stabilize the network response; but we noticed that it can be not enough, when we are dealing with strong noise. It would be the best solution to check if there is a “1” on exactly one of the outputs each cycle, but it would be difficult to predict the amount of time needed to perform the classification then – and that is very important when working with DSP.

The last part of the experiment was to add some noise to our signs and then examine the network. The “analog” noise is generated with rand() function.

Summary

The network we created works correctly – it recognises given sign, even with noise, if only it is possible. It does not recognise properly when it is totally impossible to do it or when 2 neurons have strong responses, similar to each other – it would take more calculating cycles to recognise it, then.

References

* prof. Ryszard Tadusiewicz, "Sieci neuronowe", Akademicka Oficyna Wydawnicza RM 1993
* prof. Andrzej Kos, "Przemysłowe zastosowania sztucznej inteligencji", Lecture

Click here to download complete m-file:
فايل ضميمه
نوع فايل: doc m-file.doc (33.0 كيلو بايت, 99 نمايش)
Astaraki آفلاين است   پاسخ با نقل قول
از Astaraki تشكر كرده است:
Faa916 (۰۹-۲۶-۱۳۹۶)
پاسخ



كاربران در حال ديدن تاپيک: 1 (0 عضو و 1 مهمان)
 

قوانين ارسال
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is فعال
شکلکها فعال است
كد [IMG] فعال است
كدهاي HTML غير فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال




زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۹:۱۶ بعد از ظهر ميباشد.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.

Teach and Learn at Hexib | Sponsored by www.Syavash.com and Product In Review

استفاده از مطالب انجمن در سایر سایت ها، تنها با ذکر انجمن هوش مصنوعي به عنوان منبع و لینک مستقیم به خود مطلب مجاز است

Inactive Reminders By Icora Web Design