Thiết kế mạng Neuron sử dụng Memristor ứng dụng trong xử lý ảnh

THIẾT KẾ MẠNG NEURON SỬ DỤNG MEMRISTOR ỨNG DỤNG TRONG  
XỬ LÝ ẢNH  
NEURON NETWORK DESIGN USING MEMRISTOR FOR IMAGE  
PROCESSING APPLICATIONS  
Nguyễn Quang Ôn1,Võ Minh Huân2  
1,2Trường đại học Sư phạm Kỹ thuật TP.HCM  
Tóm tắt  
Ngày nay với sự phát triển liên tục của  
ABSTRACT  
Today, the development of science and  
khoa học kỹ thuật. Vì vậy, nhu cầu tìm ra vật technology continue. So, we need find new  
liệu mới thay thế cho công nghệ CMOS đang materials to replace the CMOS technology  
dần tiến tới giới hạn của nó theo định luât Moor which is gradually reaching its limits under  
ngày càng cấp bách. Năm 1971, nhà nghiên cứu Moor Law urgency. The memristor (memory  
Leon Chua [1] đã nhận ra sự tồn tại của một resistor) was invented by Chua in 1971 as the  
loại thiết bị thứ tư được gọi là memristor fourth basic element of electrical circuits. And  
(memory resistor). Và đặc biệt là tiềm năng mô specially, memristor has a potential simulation  
tả sử dụng điện trở nhớ này như là các khớp to use for synapses to mimic the functions of a  
thần kinh nhằm bắt chước các chức năng của true brain that the size is smaller than previous  
một bộ não thật sự với kích thước nhỏ hơn rất technologies. Because, the memristor has many  
nhiều lần so với công nghệ trước đây. Chính vì potential functions. Thus, image recognition  
những tiềm năng vốn có của memristor nên based on memristor via neural network is  
người thực hiện chọn hướng nghiên cứu là ứng introduced in essay. Images extracted the  
dụng memristor thiết kế mạch nhận dạng hình feature by PCA to reduce dimensions data and  
ảnh thông qua mạng nơron. Trích đặc trưng ảnh memristor quantity such as from 352100pcs to  
bằng phương pháp PCA giúp số lượng 500pcs ( save 99.86% memristor). The binary  
memristor sử dụng từ 352100pcs xuống còn memristor used to install weights for the neural  
500pcs (tiết kiệm 99.86% memristor). Bằng network. The training is made by MATLAB to  
cách sử dụng memristor nhị phân để cài đặt create the weights corresponding to each node  
trọng số cho các nút mạng. Việc huấn luyện in the neural network. Then, these weights will  
mạng được thực hiện trên MATLAB cho ra các be quantum by VBA to set in recognition circuit  
trọng số của từng nút trong mạng nơron. Sau which was designed and simulated by Cadence.  
đó, các trọng số đã qua huấn luyện được lượng  
Keywords – memristor, neural network, image  
recognition.  
tử bằng phần mềm VBA đem cài đặt vào mạch  
nhận dạng hình ảnh đã được thiết kế và mô  
phỏng bằng công cụ mô phỏng mạch Cadence.  
Từ khóa – memristor, mạng nơron, nhận dạng  
hình ảnh.  
Một khi các nhà sản xuất chip không thể tăng  
thêm nhiều transistor vào cùng một diện tích  
silicon nữa, phương trình hiệu suất tăng nhưng  
giá giảm mà ngành điện toán đạt được bấy lâu  
nay ngay lập tức sẽ bị phá vỡ. Ngay cả Gordon  
Moore, người nổi tiếng với lời tiên đoán năm  
1965 rằng số lượng transistor trên mỗi con chip  
sẽ tăng gấp đôi sau mỗi 2 năm, cũng cho rằng  
hồi kết cho Định luật của mình đang cận kề.  
1. GIỚI THIỆU  
Ngành công nghệ vi mạch là một trong  
những ngành có tầm ảnh hưởng rất lớn đến sự  
phát triển của loài người trong thế giới hiện đại  
ngày nay. Theo năm tháng, vi mạch ngày càng  
được chế tạo với kích thước nhỏ hơn, nhưng  
cuộc cách mạng thực sự diễn ra đối với con số  
bóng bán dẫn transistor đặt trong một vi mạch.  
Nhiều tổ chức tính rằng trong vòng 10 đến 15  
năm tới, thế giới sẽ tiến tới giới hạn mấu chốt  
của transistor silicon trong công nghiệp, đó là  
giới hạn về kích thước và hiệu suất. Vấn đề  
được đặt ra là cần có một linh kiện nào đó thay  
thế transistor trong các ứng dụng về vi mạch và  
điện tử. Vào năm 1971, giáo sư Leon Chua tại  
Đại học California, Berkeley đã đề cập đến  
“memristor” (điện trở nhớ) và một tương lai mới  
đã mở ra với một công nghệ khác, công nghệ  
này thậm chí còn tốt hơn cả công nghệ CMOS  
vốn đã và đang phát triển mạnh hiện tại. Trước  
đó, các nhà khoa học chỉ biết 3 phần tử mạch  
điện cơ bản là điện trở, tụ điện và cuộn cảm.  
Giáo sư Chua cho rằng có phần tử thứ 4. Nhiều  
thập kỷ sau, vào năm 2008 R. Stanley Williams  
và các đồng nghiệp tại HP đã chứng minh rằng  
memristor tồn tại, hơn nữa đã chứng minh rằng  
có thể làm cho chúng chuyển đổi qua lại giữa 2  
hay nhiều cấp độ của điện trở và điều này sẽ cho  
phép chúng đại diện cho các giá trị 1 và 0 trong  
tính toán kỹ thuật số. Memristor viết tắt của  
memory resistor tức điện trở nhớ. Thiết bị này  
có khả năng như một điện trở, nhưng điện trở  
này có một khả năng đặc biệt là thay đổi được  
trạng thái trở kháng của chính mình khi có dòng  
điện, điện áp đặt vào hai đầu nó, khi dừng việc  
cấp điện áp thì thiết bị này vẫn ghi nhớ được trở  
kháng ngay lúc đó mà không hề bị mất theo thời  
gian dài. Với kích thước càng nhỏ thì khả năng  
thay đổi nhiều trạng thái trở kháng càng rõ ràng,  
nên memristor đã và đang được nghiên cứu rất  
nhiều với vai trò như một bộ nhớ có thể thực  
hiện các phép logic, hay hoạt động như một bộ  
nhớ có nhiều mức trạng thái khác nhau, nhằm  
cải thiện công nghệ sản xuất chip hiện nay với  
tốc độ nhanh, tiết kiệm điện, chi phí thấp, cấu  
trúc đơn giản và độ tích hợp dày đặc hơn. Và  
đặc biệt là tiềm năng mô tả sử dụng điện trở nhớ  
này như là các khớp thần kinh nhằm bắt chước  
các chức năng của một bộ não thật sự với kích  
thước nhỏ hơn rất nhiều lần so với công nghệ  
trước đây, được tập trung nghiên cứu trong [2]-  
[16].  
2. THIẾT KẾ MẠCH  
Quá trình thiết kế gồm 2 quá trình chính:  
Thiết kế mạch nhận dạng sử dụng  
phương pháp PCA trích đặc trưng  
các khuôn mặt và huấn luyện mạng  
neuron trên matlab.  
Nhận dạng từng bức ảnh sau khi trích  
đặc trưng bằng PCA.  
2.1. Thiết kế mạch nhận dạng  
Tập véc tơ  
Eigenfaces  
ảnh  
PCA  
Thành phần đặc  
trưng các mặt  
Chuyển vị  
Mạch nhận  
dạng bằng  
Memristor  
Kết quả  
Thành phần đặc  
trưng ảnh nhận dạng  
Ảnh cần nhận  
dạng  
Hình 1. Sơ đồ xử lý ảnh bằng phương pháp  
PCA tổng quát  
Thành phần đặc  
trưng các mặt  
Mạng Neron  
Network  
Huấn Luyện  
Lượng Tử  
Mạch Cài Đặt  
Trọng Số  
Memristor Nhận  
Dạng  
Kết Quả  
Lượng Tử  
Thành phần đặc  
trưng ảnh nhận  
dạng  
Hình 2. Sơ đồ chi tiết mạch nhận dạng bằng  
memristor  
Bước 1: Chuyển đổi ảnh  
Biểu diễn m ảnh trong không gian 2D  
thành 1D. Tạo véc tơ có kích thước n(số hàng  
của ảnh x số cột của ảnh):  
  
si [a1a2......an ]T ,i 1,m  
(1)  
Trong ai đó là pixel của ảnh, T là  
  
Chính vì những tiềm năng vốn có của  
memristor nên người thực hiện chọn hướng  
nghiên cứu là “Ứng dụng memristor nhận dạng  
hình ảnh” nhằm ứng dụng những đặc tính của  
memristor cũng như tạo tiền đề nhằm nghiên  
cứu sâu hơn về công nghệ này trong tương lai.  
si  
chuyển vị của ma trận  
  
si  
Tập hợp các ma trận  
trên ta được:  
ꢃꢄꢄꢃꢄꢅꢃꢄꢆ … … … ꢃꢄꢇ  
ꢃꢅꢄꢃꢅꢅꢃꢅꢆ … … … ꢃꢅꢇ  
ꢃꢆꢄꢃꢆꢅꢃꢆꢆ … … … ꢃꢆꢇ  
… … … … … … … … … …  
ꢃꢈꢄꢃꢈꢅꢃꢈꢆ … … … ꢃꢈꢇ  
trọng số nhận được sẽ đem lượng tử bằng VBA.  
Cài đặt trọng số cho mạch memristor được thiết  
kế trên phần mềm Cadence.  
⎛
⎜
⎞
⎟
Pꢀꢁꢂ  
=
(2)  
⎝
⎠
2.2. Nhận dạng bức ảnh  
Theo (1) và (2) chúng ta sẽ lấy 2 ảnh có  
size 80x110 cho 5 người khác nhau sẽ tạo ra một  
ma trận [8800x10] trong đó ứng với mỗi cột  
[8800x1] là một ảnh trong tập cơ sở dữ liệu  
huấn luyện.  
Sau khi cài đặt các ma trận trọng số, lúc  
này muốn nhận dạng một hình ảnh, chúng ta  
thực hiện các bước tương tự như trên thông qua  
phương pháp PCA để trích đặc trưng cho một  
khuôn mặt. Chuyển đổi ảnh cần nhận dạng từ  
2D sang 1D.  
Bước 2 : Tính ảnh trung bình  
ꢊꢄ  
ꢃꢄꢄ + ꢃꢄꢅ + ꢃꢄꢆ + ⋯ +ꢃꢄꢇ  
ꢌ
ꢄ
ꢊꢅ  
ꢊꢆ  
…
ꢃꢅꢄ+ꢃꢅꢅ + ꢃꢅꢆ + ⋯ + ꢃꢅꢇ  
ꢃꢆꢄ + ꢃꢆꢅ + ꢃꢆꢆ + ⋯ + ꢃꢆꢇ  
… … … … … … … … … … … . . .  
ꢃꢈꢄ + ꢃꢈꢅ + ꢃꢈꢆ + ⋯ + ꢃꢈꢇ  
ꢌꢅ  
⎛
⎜
⎞
⎟
⎛
⎜
⎞
⎟
ꢄ
⎛ ⎞  
mꢉꢉꢉ⃗ = ꢂ  
=
(3)  
(4)  
ꢌꢆ  
ꢌ⃗ =  
(7)  
⎜ ⎟  
ꢊꢈ  
…
⎝
⎠
⎝
⎠
ꢌꢈ  
⎝ ⎠  
Bước 3: Tính sai biệt ảnh trung bình  
Tính sai số của ảnh cần nhận dạng với ảnh  
trung bình của các ảnh trong cơ sở dữ liệu.  
ꢃꢄꢄ − ꢊꢄ  
ꢃꢅꢄ − ꢊꢅ  
ꢃꢆꢄ − ꢊꢆ  
…
ꢃꢄꢇ − ꢊꢄ  
ꢃꢅꢇ − ꢊꢅ  
ꢃꢆꢇ − ꢊꢆ  
…
⎛
⎜
⎞
⎟
⎛
⎜
⎞
⎟
nꢉꢉꢉꢄꢉꢉꢉꢋꢉ⃗ =  
, …, nꢉꢉꢉꢂꢉꢉꢉꢉꢋꢉ⃗ =  
ꢌ − ꢊꢄ  
ꢌꢅ − ꢊꢅ  
ꢌꢆ − ꢊꢆ  
…
ꢌꢈ − ꢊꢈ  
ꢄ
ꢃꢈꢄ − ꢊꢈ  
ꢃꢈꢇ − ꢊꢈ  
⎝
⎠
⎝
⎠
⎛
⎜
⎞
⎟
ꢌ⃗ =  
(8)  
Xây dựng ma trận A là tập hợp các sai  
biệt ảnh trung bình:  
⎝
⎠
(
)
A = nꢉꢉꢉꢉꢄꢉꢉꢋꢉ⃗ nꢉꢉꢉꢉꢉꢉꢉ⃗ nꢉꢉꢉꢉꢉꢉꢉ⃗ … nꢉꢉꢉꢂꢉꢉꢉꢉꢋꢉ⃗  
(5)  
ꢅꢋ ꢆꢋ  
Chiếu sai số lên không gian đặc trưng các  
ảnh mẫu trong cơ sở dữ liệu.  
Bước 4: Tính ma trận hiệp phương sai :  
1
Ωꢍ = ꢎꢄ ꢎꢅ ꢎꢆ … ꢎꢇ ꢏ. ꢌꢉꢉꢐꢉꢉ⃗  
(9)  
[
]
cov   
AAT  
n 1  
(6)  
Sau đó đem lượng tử trọng số thu được trên  
phần mềm excel. Các bước này được lập trình tự  
động trên phần mềm matlab và excel. Đem cài  
đặt giá trị lượng tử thu được làm ngõ vào trên  
Trong đó AT là ma trận chuyển vị của A,  
n là số lượng cột của ma trận A. Kết quả thu  
được là trị riêng(eigenvalue i ) và vec tơ riêng mạch memristor đã thiết kế để kiểm tra kết quả  
nhận dạng.  
x
(eigenvector i ) của ma trận hiệp phương sai  
2.3 Xây dựng mạch phần cứng  
memristor  
này chính là đặc trưng thành phần thiết yếu của  
ảnh.  
Để xây dựng mạng nơ-ron nhiều lớp  
gồm có một tập 10 ngõ vào kết nối với 5 nơ-ron  
lớp ẩn, sau đó chúng được kết nối với 5 ngõ ra.  
Ngõ ra của mô hình mạng được tính dựa trên  
các phương trình sau:  
Bước 5: Chiếu lên không gian ảnh đặc trưng  
vừa tìm được.  
Sau quá trình PCA để trích đặc trưng, ta  
thu được ma trận đặc trưng tất cả các khuôn mặt  
trong CSDL ảnh. Chiếu lần lượt các ảnh trong  
cơ sở dữ liệu đến không gian đặc trưng m hướng  
này, để sinh ra các ảnh đặc trưng khuôn mặt  
trong không gian ảnh mới. Sử dụng ma trận thu  
được này để làm ngõ vào cho mạng neuron,  
ꢘ
∑
ꢑꢒꢓꢔ =  
ꢕ ꢎ + ꢗꢔ  
ꢖ ꢖ  
(10)  
(11)  
ꢖꢙꢄ  
ꢚꢔ = ꢛꢜꢝꢞꢟꢝꢠꢑꢒꢓꢔꢡ  
ꢐ
∑
Vn. Như vậy, ta đã có 5 giá trị z1 tới z5 tương  
ứng với 5 giá trị của 5 nơ-ron lớp ẩn. Tiếp theo  
là mảng gồm các giá trị trọng số lớp ẩn V1 tới  
V5. Cũng như cấu trúc mạch đã trình bày, mỗi  
mảng V được chia thành 2 mảng M+ và M-  
tương ứng với trọng số dương và trọng số âm.  
Tuy nhiên, ở đây không sắp xếp theo cấu trúc  
đường chéo, sở dĩ như vậy là bởi mỗi giá trị z  
không được lượng tử thành 2 hay nhiều bit. Do  
đó, mỗi ngõ vào z được kết nối trực tiếp với mỗi  
hàng M+ và M-, 5 ngõ vào z được kết nối với 5  
giá trị trọng số lớp ẩn. Tiếp theo là mạch trừ  
tương ứng 2 cột có hệ số là 2 và 1. Sau đó, ngõ  
ra được kết nối tới 2 mạch nhân có 2 hệ số nhân  
tương ứng. Cuối cùng là mạch cộng ngưỡng để  
tạo ra 1 giá trị ngõ ra. Như vậy, ta có 5 giá trị  
ngõ ra cần tìm từ y1 tới y5 theo phương trình  
(12). Mỗi ngõ ra được kết nối tới mạch winner  
take all để xác định ngõ ra. Mạch winner take all  
để xác định ngõ ra 0 hoặc 1 khi ngõ vào là một  
ảnh gương mặt bị ảnh hưởng bởi nhiễu, điều đó  
làm cho mỗi ngõ ra y của mạch không đạt được  
giá trị 1 hoặc 0 mà nằm ở giữa. Việc dùng mạch  
winer take all cho phép ta xác định được ngõ ra  
lớn nhất và đưa nó về giá trị 1.  
ꢢꢣ = ꢔꢙꢄ ꢚꢔꢤꢔ + ꢗꢣ  
(12)  
Trong đó ꢎ là ngõ vào, ꢕ là trọng số  
ꢖ
ꢖ
lớp vào, ꢗꢔ là ngưỡng lớp vào, hàm tác động là  
logsig, ꢤꢔ là trọng số lớp ẩn, ꢗꢣ là ngưỡng lớp  
ẩn.  
Ta cần kết nối 10 ngõ vào được kết nối  
với 5 mảng W1 tới W5 tương ứng với 5 nơ-ron  
lớp ẩn. Ở mỗi mảng W chia thành 2 mảng nhỏ là  
M+ và M- tương ứng với trọng số dương và  
trọng số âm. Lưu ý trong trường hợp này, ngõ  
vào được lượng tử thành 2 bit, trọng số lớp vào  
và lớp ẩn cũng được lượng tử 2 bit. Mỗi cột  
trong mỗi mảng M+ hay M- từ trái sang phải  
tương ứng với hệ số 4, 2 và 1. Sau khi ngõ vào  
được kết nối với mảng M+ và M-, ta thực hiện  
phép trừ tương ứng với mỗi hệ số ở mỗi cột, ở  
đây có 3 mạch trừ tương ứng với 3 hệ số. Tiếp  
tục là mạch nhân tương ứng với từng hệ số, có  
tác dụng khôi phục lại giá trị của phép nhân 2 bit  
ngõ vào với 2 bit trọng số lớp ngõ vào. Sau đó là  
mạch cộng giá trị ngưỡng tương ứng với mỗi  
neuron. Lúc này chúng ta đa có mạch phần cứng  
thực hiện phương trình (10). Ngõ ra của mạch  
cộng trước khi đi qua mạch tạo hàm logsig như  
phương trình (11) phải đi qua mạch đảo dấu để  
tạo 2 ngõ vào của mạch tạo hàm logsig là Vp và  
W1  
W2  
W5  
[X]1<0,1>  
[X]2<0,1>  
[X]10<0,1>  
LRS  
HRS  
-
-
-
-
-
-
-
-
-
X4  
X2  
X1  
X4  
X2  
X1  
X4  
X2  
X1  
b1,1  
b1,2  
+
+
b1,5  
+
f1  
f2  
f5  
Z1  
Z2  
Z5  
V1  
V2  
V5  
Z1  
Z2  
Z3  
Z4  
Z5  
-
-
-
-
-
-
X2  
X1  
X2  
X1  
X2  
X1  
b2,1  
b2,2  
b2,5  
+
+
+
y1  
y5  
y2  
Winner-take-all-circuit  
Output_face5  
Output_face2  
Output_face1  
Hình 3. Mạch phần cứng thiết kế trên phần mềm Cadence  
trên Matlab sang 2 bít nhị phân. Việc này sẽ dễ  
dàng để lấy giá trị lượng tử này cài đặt cho mạch  
memristor thiết kế trên Cadence.  
3. KẾT QUẢ NGHIÊN CỨU  
3.1. Giao diện phần mềm thiết kế mô  
phỏng  
Chúng ta sẽ sử dụng mạng Feedforward  
để huấn luyện với số ngõ vào là 10, 5 neuron lớp  
ẩn và 5 neuron lớp ngõ ra. Đây là mạng truyền  
thẳng 2 lớp sử dụng giải thuật lan truyền ngược  
để cập nhật trọng số cho mạng sau mỗi chu kỳ  
huấn luyện. Quá trình huấn luyện và nhận dạng  
được lập trình chạy tự động trên phần mềm  
Matlab như giao diện bên dưới.  
Bảng 1. Trọng số ngõ vào - lớp ẩn  
Trọng số trước lượng tử  
-0.59 0.08 0.15 -0.06 -0.78  
-0.66 -0.6 0.14 -0.13 0.41  
0.04 -0.29 -0.46 0.05 -0.84  
0.32 -0.25 0.08 -0.10 0.91  
0.29 -0.66 -0.43 -0.52 -0.16  
0.43 0.42 0.75 0.03 -0.28  
-0.56 0.68 -0.24 0.00 0.40  
-0.08 0.70 0.71 0.07 0.08  
-0.77 0.02 -0.59 -0.09 0.22  
0.36 0.45 -0.67 -0.12 -0.46  
Như hình 4, khi nhấn vào nút huấn luyện  
chương trình sẽ chạy thu được mạng neuron với  
trọng số thích hợp. Sau khi huấn luyện xong sẽ  
thông báo tới người dùng để chuyển sang công  
đoạn tiếp theo là nhận dạng từng bức ảnh. Nút  
nhận dạng cho phép nhận dạng từng bức ảnh sau  
khi mạng neuron đã huấn luyện thành công.  
Trọng số sau lượng tử  
-10  
-10  
00  
00  
-10  
-01  
-01  
-10  
01  
00  
00  
00  
00  
00  
00  
-10  
00  
00  
00  
00  
00  
-10  
01  
-01  
00  
-11  
11  
01  
01  
-01  
10  
00  
01  
-01  
01  
-10  
00  
10  
10  
-01  
10  
00  
01  
-10  
01  
00  
01  
-10  
-10  
-01  
Bảng 2. Trọng số lớp ẩn - ngõ ra  
Hình 4. Giao diện huấn luyện  
Trọng số trước lượng tử  
-0.58 0.00 0.58 0.00 0.58  
-0.58 0.00 0.00 0.58 0.58  
0.71 0.00 0.00 0.00 -0.71  
0.50 0.50 0.00 -0.50 -0.50  
0.00 0.00 0.00 0.00 1.00  
Trọng số sau lượng tử  
-10  
-10  
10  
00  
00  
00  
10  
00  
10  
00  
00  
00  
00  
00  
10  
00  
-01  
00  
10  
10  
-10  
-10  
11  
Hình 5. Giao diện VBA lượng tử trọng số  
10  
Mỗi lần nhấn nút sẽ xuất ra 1 file excel  
tự động đã lượng tử tự động trọng số huấn luyện  
00  
Bảng 3. Lượng tử ngõ vào cho bức ảnh nhận  
dạng  
Ngõ vào  
trước lượng  
tử  
Ngõ vào sau  
lượng tử  
Hình 6. Kết quả huấn luyện trên Matlab  
0.42  
0.61  
0.59  
01  
10  
10  
0.51  
1.00  
10  
11  
Hình 7. Kết quả nhận dạng mặt số 1 trên  
-0.26  
0.27  
-01  
01  
Matlab  
Mạng neuron sau khi huấn luyện trên  
Matlab, thu được trọng số mong muốn. Lúc này  
đưa lần lượt 5 ảnh của 5 người khác nhau cho  
qua mạch, kết quả nhận dạng chính xác được 5  
người khác nhau.  
-0.52  
0.15  
-10  
00  
3.2.2 Kiểm tra khả năng nhận dạng của  
mạch memristor  
-0.04  
00  
Dấu trừ “-“ ở trước giá trị sau khi lượng  
tử nhằm giúp nhận dạng cài đặt trọng số ở mảng  
M- và ngõ vào ở mức điện áp âm. Trong thực tế  
giá trị lượng tử không âm và được chia thành 7  
mức đối với lượng tử 2 bit. Trọng số trước  
lượng tử được chuẩn hóa trong khoảng [-1 1].  
3.2.Hoạt động của mạch thiết kế  
3.2.1 Kiểm tra khả năng nhận dạng của  
mạch trên Matlab  
Hình 8. Kết quả nhận dạng mặt số 1 trên mạch  
memristor  
Như hình 8 sau khi cài đặt trọng số  
lượng tử cho mạch memristor, cho gương mặt số  
1 đi qua mạch. Đo ngõ ra thu được gương mặt  
số 1 cho ngõ ra lớn nhất. Kết quả tương tự cho 4  
gương mặt còn lại.  
4. KẾT LUẬN  
Đề tài nghiên cứu ứng dụng memristor  
nhận dạng hình ảnh đã đạt được những kết quả  
như đề ra ban đầu. Áp dụng phương pháp PCA  
để trích đặc trưng khuôn mặt từ đó cho phép  
giảm đáng kể số dữ liệu cần huấn luyện. Tập dữ  
liệu ảnh từ size [8800x10] được rút trích đặc  
trưng giảm xuống [10x10]. Điều này làm cho  
việc huấn luyện mạng neuron đơn giản hơn rất  
nhiều. Sử dụng mạng neuron để huấn luyện  
trọng số cho các lớp mạng kết hợp lượng tử  
bằng VBA thành công. Việc sử dụng neuron  
network sẽ linh hoạt hơn trong việc huấn luyện  
dữ liệu và gần giống với cấu trúc bộ não sinh  
học sẽ giúp cho ứng dụng này có thể phát triển  
hơn với số lượng ảnh cần nhận dạng tăng lên.  
Hình 9. Mặt số 1 được nhận dạng qua mạch  
winer take all  
Thường ngõ ra sẽ bị ảnh hưởng bởi  
nhiễu sẽ làm cho khả năng nhận dạng bị ảnh  
hưởng. Do đó cần đi qua mạch winer take all để  
xác định chính xác ngõ ra là 0 hay 1 như hình 9.  
TÀI LIỆU THAM KHẢO  
Bảng 4. So sánh sử dụng phương pháp  
PCA trích đặc trưng và phương pháp thông  
thường  
[1]. L. O. Chua. Memristor – The missing circuit element. IEEE  
Trans. Circuit Theory, vol. CT-18, no. 5, pp. 507-519, Sep.  
1971.  
[2]. Van-Tien Nguyen, Minh-Huan Vo. New binary memristor  
crossbar architecture based neural networks for speech  
recognition. International Journal of Engineering Science  
Invention, Volume 5 Issue 5, May 2016.  
[3]. Ngoc-Thanh Le, Minh-Huan Vo. Synaptic memristor  
bridge circuit with pulse width based programable weights  
in digit character recognition. International Journal of  
Engineering Science Invention, Volume 5 Issue 5, May  
2016.  
Số  
bít  
Số  
bít  
Số  
bít  
Số lượng  
memristor dụng  
Sử  
ngõ trọng trọng sử dụng  
vào số  
lớp  
phương  
pháp  
PCA  
số  
lớp  
ra  
ẩn  
2
2
2
2
2
352100  
500  
Không  
Có  
2
[4]. R. Stanley Williams. How We Found the Missing  
Memristor. IEEE Spectrum, Volume 45 Issue 12, Page 28-  
35, December 2008.  
[5]. Shyam Prasad Adhikari, Changju Yang, Hyongsuk Kim,  
and Leon O. Chua. Memristor Bridge Synapse-Based  
Neural Network and Its Learning. IEEE Transaction on  
Neural Networks and Learning Systems, Vol. 23, No.9,  
September 2012.  
Để đánh giá ảnh hưởng của sự thay đổi  
trở kháng theo sai số ngẫu nhiên từ 1% đến 10%  
giá trị trở kháng đối với khả năng nhận dạng của  
mạch. Sử dụng phương pháp Monte-Carlo lập  
trình trên Matlab. Kết quả thu được như hình 10,  
tỉ lệ nhận dạng giảm không đáng kể từ 92.8%  
xuống 91.5%.  
[6]. Shyam Prasad Adhikari, Hyongsuk Kim, Ram Kaji  
Budhathoki, Changju Yang, and Leon O. Chua. A Circuit-  
Based Learning Architecture for Multilayer Neural  
Networks With Memristor Bridge Synapses.  
IEEE  
Transactions on Circuits and Systems I: Regular Papers,  
(2015).  
[7]. C.Yakopic, M.Taha and M.McLean. Method for ex-situ  
trainingin memristor based neuromorphic circuit using  
robust weight programming method. Electronics Letters,  
Volume: 51 , Issue: 12 , pp. 899–900, 11 June 2015.  
[8]. Son Ngoc Truong, Seok-Jin Ham and Kyeong-Sik Min.  
Neuromorphic crossbar circuit with nanoscale filamentary-  
switching binary memristors for speech recognition.  
Nanoscale Research Letters, (2014).  
[9]. Son Ngoc Truong and Kyeong-Sik Min. New Memristor  
Based Crossbar Array Architecture with 50% Area  
Reduction and 48% Power Saving for Matrix-Vector  
Multiplication of Analog Neuromorphic Computing.  
Journal Of Semiconductor Technology And Science,  
Vol.14, No.3, June 2014.  
Hình 10. Khả năng nhận dạng với sự thay đổi  
tolerance của trở kháng memristor  
[10]. Son Ngoc Truong, SangHak Shin, Sang-Don Byeon,  
JaeSang Song, Hyun-Sun Mo and Kyeong-Sik Min.  
Comparative Study on Statistical-Variation Tolerance  
Between Complementary Crossbar and Twin Crossbar of  
Binary Nanoscale Memristors for Pattern Recognition.  
Nanoscale Research Letters, (2015)  
[11]. Son Ngoc Truong, SangHak Shin, Sang-Don Byeon,  
Jeasang Song, and Kyeong-Sik Min. New Twin Crossbar  
Architecture of Binary Memristors for Low-Power Image  
Recognition with Discrete Cosine Transform. IEEE  
Transactions on Nanotechnology, (2015).  
[12]. Myonglae Chu, Byoungho Kim, Sangsu Park, Hyunsang  
Hwang, Moongu Jeon, Byoung Hun Lee, Byung-geun Lee.  
Neuromorphic Harware System for Visual Pattern  
Recognition with Memristor Array and CMOS Neuron.  
IEEE Transactions on Industrial Electronics, Vol. 62, Issue  
4, April 2015.  
[13]. Raqibul Hasan and Tarek M. Taha, Enabling Back  
Propagation Training of Memristor Crossbar Neuromorphic  
Processors. 2014 International Joint Conference on Neural  
Networks (IJCNN), China, Beijing, July 6-11, 2014.  
[14]. Thamer M.Jamel, Implementation of a sigmoid activation  
function for neural network using FPGA. 13th Scientific  
Conference of AlMa'moon University College, Volume: 13,  
April 2012.  
[15]. Djaafar Chabi, Zhaohao Wang, Christopher Bennett,  
Jacques-Olivier Klein, Weisheng Zhao. Ultra High Density  
Memristor Neural Crossbar for On-chip Supervised  
Learning. IEEE Transactions on Nanotechnology, (2015).  
[16]. Chris Yakopcic, Md Zahangir Alom, and Tarek M. Taha.  
Memristor Crossbar Deep Network Implementation Based  
on a Convolutional Neural Network. 2016 International  
Joint Conference on Neural Networks (IJCNN), July 2016.  
[17]. Huỳnh Thái Hoàng. Hệ thống điều khiển thông minh. NXB  
Đại học Quốc gia, 2006, tr.97.  
[18]. Nguyễn Thanh Hải. Giáo trình xử lý ảnh. NXB Đại học  
Quốc gia Tp.Hồ Chí Minh, 2014.  
pdf 9 trang Mãnh Khiết 09/01/2024 17100 Free
Bạn đang xem tài liệu "Thiết kế mạng Neuron sử dụng Memristor ứng dụng trong xử lý ảnh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfthiet_ke_mang_neuron_su_dung_memristor_ung_dung_trong_xu_ly.pdf