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

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.

主站蜘蛛池模板: 葵青区| 呼和浩特市| 崇信县| 房山区| 屯留县| 阜新| 万山特区| 共和县| 全州县| 河池市| 宜昌市| 克东县| 通江县| 铁岭市| 兴仁县| 扬中市| 邢台县| 富顺县| 黑龙江省| 石阡县| 河津市| 宁蒗| 阜阳市| 楚雄市| 海安县| 麻栗坡县| 喀喇| 永嘉县| 会泽县| 稷山县| 饶阳县| 松阳县| 兴宁市| 商洛市| 门源| 开原市| 精河县| 香河县| 连江县| 吉安市| 南召县|