Homework 3

due 11/13 00:00AM
Late submission will not be accepted.

1. Course Project

This course requires each stduent to do a project with his/her team mates. Please form a team, list the names and cuids of your team members, and provide the tentative the tentative title of team project.

2. Number of Parameters in Residule Net

ResNet has become one of the most important structures in deep CNNs. Table 1 in the CVPR'16 paper explains the 50 layer ResNet, which is roughly grouped into conv1, conv2, conv3, conv4, conv5, and final pooling plus 1000 fully connected layer.

Keras provides an implementation of 50-layer ResNet. Please count how many parameters in conv1, conv2, conv3, conv4 and conv5, respectively. You can use Keras `model.count_parameters()' to verify your calculation.

3. Fine tuning deep CNNs

The model trained from ImageNet gives you a lot of power to build new models. Keras tutorial: Fine-tuning the top layers of a a pre-trained network shows how you can fine-tune an ImageNet model using very little data.

We ask you to fine tune an AlexNet (or ResNet-50, or other model trained from ImageNet) for a face recognition problem. There are two classes:

In this homework, you are asked to:
3.1 Fine-tune the network using 10 pictures for each class
3.2 Test the fine-tuned network using the 11-20 picture for each class.
3.3 Use one of your own face picture (or your friend's), and test whether you look like more Justin or Jennifer.

4. Adversarial Attack

The deep CNNs can be fooled using adversarial attack. Take one of Justin or Jennifer's test image in the above problem which you recognized correctly, and show that you can fool
the classifer by adding some unnoticeable noise.