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.
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:
thiet_ke_mang_neuron_su_dung_memristor_ung_dung_trong_xu_ly.pdf

