官术网_书友最值得收藏!

Problems with traditional NN

Scenario 1: Let's create a new image where the original image is translated by 1 pixel toward the left. In the following code, we are looping through the columns of the image and copying the pixel values of the next column to the current column:

for i in range(pic.shape[0]):
if i<20:
pic[:,i]=pic[:,i+1]
plt.imshow(pic)

The left translated average 1 image looks as follows:

Let’s go ahead and predict the label of the image using the built model:

model.predict(pic.reshape(1,784)/255)

The model's prediction on the translated image is as follows:

We can see a prediction of 1, though with a lower probability than when pixels were not translated.

Scenario 2: A new image is created in which the pixels of the original average 1 image are shifted by 2 pixels to the right:

pic=np.zeros((28,28))
pic2=np.copy(pic)
for i in range(X_train1.shape[0]):
pic2=X_train1[i,:,:]
pic=pic+pic2
pic=(pic/X_train1.shape[0])
pic2=np.copy(pic)
for i in range(pic.shape[0]):
if ((i>6) and (i<26)):
pic[:,i]=pic2[:,(i-1)]
plt.imshow(pic)

The right translated average 1 image looks as follows:

The prediction of this image is as follows:

model.predict(pic.reshape(1,784)/255)

The model's prediction on the translated image is as follows:

We can see that the prediction is incorrect with an output of 3. This is the problem that we will be addressing by using a CNN.

主站蜘蛛池模板: 泰和县| 常宁市| 当阳市| 余江县| 大同市| 孝义市| 沧源| 平塘县| 井冈山市| 特克斯县| 霞浦县| 墨玉县| 始兴县| 榆中县| 通化市| 阿尔山市| 宣城市| 鸡泽县| 金门县| 泰和县| 邢台市| 休宁县| 神农架林区| 富宁县| 淳安县| 涡阳县| 资溪县| 桓仁| 汝南县| 泸溪县| 南投市| 昭苏县| 涟水县| 肇庆市| 湟源县| 那曲县| 乌拉特中旗| 静乐县| 静安区| 高台县| 安义县|