Profile

Hi ! My name is Della. I’m a Machine Learning Engineer in Kaikutek Inc. As the member of System team, I’m in charge of developing the AI Core technologies of the chip. I’m currently working with spatiotemporal data for real-time gesture classification, exploring the possibilities to improve the efficiency and performance of neural network-based gesture classification model. Besides that, I’m also currently reading about Variational Bayesian inference outside working to keep myself updated with latest trend in deep learning field since I’m passionate about this field and willing to learn something new.

Previously, I conducted some research in deep learning field during my master degree, especially in low-level vision (image restoration to be precise). During my undergraduate study, I also did some research about Natural Language Processing (NLP) using machine learning approach.

Working Experiences

These are my working experiences.

  • Kaikutek Inc. ( 開酷科技股份有限公司 ) - Machine Learning Engineer (September 2020 - now)
  • I've been working as a member of System team for a year. I have managed several projects and tasks during my time in here, as listed below.

    1. Improving Robustness of Real-Time Gesture Classification
    2. Me and my team is constantly striving to improve the real-time gesture classification, as this topic is very challenging. One of the reasons why real-time time-series classification can be quite challenging is because there are a lot of factors to consider when we train the neural-network based model. Some factors that we managed to observe are: number of frames (timesteps) to unfold, out-of-distribution background data, and the training ordered steps.

    3. Implementation of Lightweight Neural Network in Integer Hardware-Like Model for Verification on FPGA Platform
    4. I implemented lightweight neural network which can be trained in few-shot style (via contrastive loss) and capable to classify simple gestures. After that, I need to co-work with Digital Design team to make sure their implementation on the chip (later) are correct by verifying their implementation on FPGA platform first.

    5. Designing Training Mechanism for Gesture Classification using Coordinate-Based Input Feature
    6. I designed the training mechanism for gesture classification using coordinate-based input feature which can be quite challenging since in this case the information is more limited. The input is representative, but it's more random. Therefore, it required extra steps to handle this kind of situation. Furthermore, neural network can be quite difficult to train using limited input features.

    7. Designing Integer Hardware-Like Network Model for Coordinate-Based Input Feature Model for Verification on FPGA Platform
    8. I designed the fixed-point network model for coordinates input feature – based model. This step is important since the way deep learning library is trained requires floating-point data type in order to calculate the gradient & backpropagation. However, if we want to implement our network into the chip, we need to transfer this into integer data type, since hardware can only process integer data. Therefore, we as the System team need to do the final step of development which is transferring our network model to fixed-point (integer data type) model before sending this into Digital Design team. After that, I need to co-work with Digital Design team to make sure their implementation on the chip (later) are correct by verifying their implementation on FPGA platform first.

    9. Designing Few-Shot Learning Mechanism via Transfer Learning for Dual Network
    10. This is a project to explore another possibility of few-shot learning by utilizing transfer learning method. By sharing and freezing feature extractor part, the network can focus more to learn the temporal part. This network is designed to be co-exist together with identical counterpart model, hence it’s called dual network. Since the extractor part is shared with its identical counterpart model, the number of parameters is reduced.

    11. Analyzing and Improving Augmentation Methods for Temporal Matching Gesture Classification Model 
    12. My task is to analyze the effectiveness of the current augmentation methods for temporal matching gesture classification model. Therefore, I need to design an evaluation method to check their performance. After determining their performance, I can try different augmentation methods which can improve the classification result.

  • Sebelas Maret University's Bureau of Administration and Information System Design - Software Developer (January 2016 - December 2016)
  • In this job, my task was to maintain Sebelas Maret University's websites in check and always available, and also to check & maintain the database, in case there's trouble.

Education

  • M.Sc. in National Taiwan University of Science and Technology - 國立台灣科技大學 (2018 - 2020)
    • Department of Electrical Engineering (電機工程系) - Multimedia Signal Processing Lab (MSPL)
  • B.CS. in Universitas Sebelas Maret - Indonesia (2013 - 2017)
    • Department of Informatics (Program Studi S1 Informatika)

Skills

  • Technical Skills
    • Deep Learning
      • Python (experienced), C++ (knowledgeable)
      • Deep learning framework: Tensorflow & Keras (experienced), PyTorch (currently using)
      • Experienced with Tensorflow Lite (Android) & TF-TRT (integration with NVIDIA TensorRT)
      • Image Processing Libraries & Tools: OpenCV, PIL, Scikit Image
    • Machine Learning & Big Data
      • R, Python (experienced), Matlab (knowledgeable)
      • Machine Learning tools: caret (R), scikit learn (Python)
      • Database: MySQL, Oracle
      • Big Data Technologies: Hadoop, Spark (knowledgeable)
    • Website Development
      • PHP, JS, HTML & CSS
      • PHP Framework: Laravel
    • Android Programming: Android Studio (Java), Ionic (AngularJS)
  • Other Technical Skills
    • Experienced with Git (Github), virtual environment, Anaconda (both in Windows & Linux), Docker
    • Familiar with integer bit-true concept for hardware implementation of neural network model
    • Familiar with bit-quantization for implementation of neural network in hardware.
    • Experienced with Kaggle & Codeforces competitions
    • Experienced with CUDA integration (GPU) for Deep Learning computation
    • Able to work using Linux and Windows environment
    • Experienced with reproducible codes, python packages (PIP)
    • Familiar with software development life cycle (SDLC)
  • Theoretical Skills
    • Deep Learning and its applications
      • Temporal Problem Classification (LSTM, RNN) - current focus
      • Image Restoration & Reconstruction (Image denoising)
      • Image Translation (CycleGAN, Pix2pix)
      • Image Super Resolution (SRGAN)
      • Generative Models (GAN, VAE)
      • Image Classification (AlexNet, GoogleNet, ResNet, DenseNet, EfficientNet, MobileNet)
      • Object Detection (YOLO, Mask-RCNN)
    • Statistics and Machine Learning
      • Classification: Naive Bayes, SVM, KNN
      • Clustering: K-Means
      • Regression: Logistic Regression, Linear Regression
      • Association Rule: Apriori
    • Natural Language Processing: TF-IDF, RNN, LSTM
    • Image Processing & Signal Processing
  • Language
    • Bahasa Indonesia (Native language)
    • English (Professional working proficiency)
    • Mandarin (Basic knowledge, basic conversation)

Publication

  • Twitter sentiment analysis of DKI Jakarta's gubernatorial election 2017 with predictive and descriptive approaches (2017 International Conference on Computer, Control, Informatics, and its Applications - IC3INA) - link

Research Experiences

These are the completed & current researches. For further details, please go to Portfolio.

  • Dense in Dense Network with Attention Module (DiDNT) with Blind Image Denoising - notebook
  • ODBTC (Ordered Dithering Block Truncation Coding) reconstruction
  • Twitter sentiment analysis of 2017 DKI Jakarta's local election - notebook

Project Experience (During Study)

These are my project experiences.

  • An entertainment company sales recommendation.
  • This is a project during the Big Data class, which collaborated with an entertainment company. Me and my team were tasked to give this company some personal package recommendations for its customers, in order to improve its sales. The first step is to analyze the customers' data (provided by the company), and do some pre-processing steps. After that, we applied machine learning algorithms to build the model. Since there's data limitation, we first divided the data into training set and validation set, and after we obtained the model from the training set, we validated our model using validation set.

Personal Project Experience

These are my personal project experiences.

  • Image Compression Kit (Python Package) - PyPI - Github
  • RSNA Pneumonia Detection Challenge (Kaggle) - Notebook

Tutorials

These are some tutorials I've written to keep things I've learned (notebooks).

  • Brief Introduction of Tensorflow 2 & Keras (in Bahasa Indonesia) - TF101
  • Brief Introduction of Docker (in Bahasa Indonesia) - Docker101

Current Interest

  • Temporal Model Neural Network
  • Variational Bayesian Inference