Welcome to the "A Hands-On Workshop in Deep Learning for Sequence-to-Sequence Models" repository for MERCon 2023! This repository contains materials and resources for the hands-on workshop focusing on Recurrent Neural Networks (RNNs) for solving sequence-related problems.
Moratuwa Engineering Research Conference 2023 (MERCon 2023) is the 9th international conference organized by the Engineering Research Unit at the University of Moratuwa. As part of MERCon 2023, we are hosting a Hands-On Workshop on Deep Learning for Sequence-to-Sequence Models. This workshop spans four hours and is divided into four one-hour sessions, covering the following topics:
- Introduction to Sequence-to-Sequence Learning
- Sequence-to-Sequence Learning with Recurrent Neural Networks (RNNs)
- Sequence-to-Sequence Learning with Encoder-Decoder Models
- Sequence-to-Sequence Learning with Encoder-Decoder Models and Attention Mechanisms
For more information - MERCon 2023
The focus of this repository is on the 'Sequence-to-Sequence Learning with Recurrent Neural Networks (RNN)' session. Recurrent Neural Networks are a fundamental class of deep learning models known for their exceptional ability to process sequential data. If you're interested in discovering how RNNs can be applied to tasks such as language understanding, time-series prediction, or even generating creative art, this session provides an ideal starting point for your journey into the world of RNNs.
Before you begin, please ensure you have the following software/tools installed on your computer, or you can use an online platform like Google Colab:
- Python - version 3.10.12
- Jupyter Notebook - version 6.5.5
- Keras - version 2.14.0
If you prefer, you can also use Google Colab, a free online platform for running Jupyter notebooks, to work through the workshop materials. Make sure to have Python, Jupyter Notebook, and Keras installed and updated to the specified versions on your local machine or use Google Colab as an alternative.
-
Worksheets: Explore the workshop content through the following Jupyter notebooks:
-
RNN_worksheet1.ipynb: This notebook provides solutions and examples for tackling the "Reverse Sequence Problem" using Recurrent Neural Networks.
-
RNN_worksheet2.ipynb: This notebook provides examples for tackling the "Reverse Sentence Problem" using Recurrent Neural Networks. Use the knowledge from RNN_worksheet1.ipynb to complete this worksheet and obtain the desired output.
-
-
Solutions: If you need guidance or have questions, refer to the solution notebooks in the "solutions" folder:
-
RNN_worksheet1_solution.ipynb: Solutions and explanations for RNN_worksheet1.ipynb.
-
RNN_worksheet2_solution.ipynb: Solutions and explanations for RNN_worksheet2.ipynb.
-
- Introduction to Recurrent Neural Networks (RNNs)
- Sequence-to-Sequence Models
- Long Short-Term Memory (LSTM) Networks
- Gated Recurrent Unit (GRU) Networks
- Tips for Training and Fine-Tuning RNNs
-
Clone or download this repository to your local machine.
-
Navigate to the "worksheet" folder to access the workshop materials and Jupyter notebooks.
-
Open the Jupyter notebooks in your preferred environment and start learning and experimenting with RNNs for sequence-related tasks.
We would like to acknowledge the following references and sources that have been invaluable in creating this workshop:
- Sequence To Sequence Learning With Tensorflow & Keras Tutorial Series
- Liquet, B., Moka, S., & Nazarathy, Y. (2023). The mathematical engineering of deep learning
If you have questions or need assistance during the workshop, you can reach out to us by creating a GitHub discussion or by contacting us at [email protected] or Braveenan Sritharan.
- Dr Uthayasanker Thayasivam - NLP Researcher & Senior Lecturer at the Department of Computer Science & Engineering, University of Moratuwa, Sri Lanka
- Mr. Sritharan Braveenan - Post-graduate student at the Department of Computer Science & Engineering, University of Moratuwa, Sri Lanka