1 Introduction
The task of this project is to perform classification using machine learning. It is for a two class problem. Your task is to classify what ASL word is performed by an ASL signer, based on the acoustic images provided in the dataset, using Convolutional neural network as the classifier. The code should be written in Python.
2 Dataset
This dataset is provided by our current research project, which include 10 ASL words performed by 5 subjects. In this dataset, all images are generated by using the short-time Fourier transform (STFT) to calculate a spectrogram as the feature representation of the reflected near-ultrasound waves. Based on the Doppler effect, sign language gestures, including both hands and arms, will cause phase and frequency changes of the reflected sonic wave. The spectrogram contains information in both frequency and time domains. The spectrogram is also defined as the Power Spectral Density of the function:
τ° τ° β spectrogram{x(t)}(Ο,Ο)β‘|X(Ο,Ο)| =τ°τ°
βjΟn x[n]Ο[nβm]e
τ°
τ°τ° (1) τ°
where x[n] is input signal, and Ο[n β m] represents the overlapping Kaiser window function with an adjustable shape factor Ξ² that improves the resolution and reduces the spectral leakage close to the sidelobes of the signal. The coefficients of the Kaiser window are computed as:
τ° τ° τ°nβN/2τ°2τ° I0 Ξ² 1β N/2
Ο[n] = I0(Ξ²) ,0 β€ n β€ N (2) This dataset has a training set of 5,000 examples, and a test set of 1,000 examples.
τ° τ°2
2
τ°n=ββ
1
3 Implement Convolutional Neural notworks[60 points]
3.1 Tasks
Train using Convolutional Neural notworks:
4
β’
β’
β’
Build a Convolutional Neural Network with 1,2 or 3 hidden layers with different regularization methods(l2, l1), that takes these images as input and gives as output what the ASL words represent for this image.
Test your machine learning model on the testing set: After finishing all the above steps, fix your hyper-parameters(learning rate, lambda for penalty and number of neurons per layer) and model parameter and test your modelβs performance on the testing set. This shows the effectiveness of your modelβs generalization power gained by learning.
Implement different regularization methods for the Neural Networks.
β 1. Implement Neural Network with different regularization methods: Dropout, l1 or l2.
β 2. Compare the Regularization methods and explain it in your report.
Deliverables
There are two deliverables: report and code.
- Report (The report should be delivered as a separate pdf file, and it is recommended for you to use the NIPS template to structure your report. You may include comments in the Jupyter Notebook, however you will need to duplicate the results in the report. The report should describe your results, experimental setup and comparison between the results obtained from different setting of the algorithm and dataset.
- Code
The code for your implementation should be in Python only. The name of the Main file shouldbe main.ipynb or main.py. Please provide necessary comments in the code.
2



