About me

Master student at Stanford.
Focusing on NLP, ML, CV, Data Mining, Computer Graphics and software development.
4 years mobile development experience.
With hardware background in embedded system, FPGA, sensors, etc.

Education

Stanford University, Stanford, CA

Sept. 2018 -- Present
Master of Science in Electrical Engineering, Software and Hardware Systems
GPA: 3.8/4.0

Zhejiang University, Hangzhou, China

Sept. 2011 -- June. 2015
Bachelor of Science in Electronic Science and Technology;
GPA: 3.9/4.0

Skills

  • Java, Python, C/C++, SQL, Shell, JavaScript, HTML, CSS, MatLab.
  • Pytorch, Tensorflow, Spark, MongoDB, Git, SVN, JIRA, Conflence.
  • Natural Language Processing, Computer Vision, Machine Learning, Data Mining, Computer Graphics, Android Development, Web Development.
  • VHDL, FPGA, ModelSim, MultiSim, Altium Designer9; Embedded System, ASIC desgin.
  • LaTex, MarkDown, Sketch, Photoshop, etc.

Courses

CS231N CNN for Computer Vision, CS224N Natural Language Processing, CS229 Machine Learning,
CS246 Mining Massive Data Sets, CS 341 Project in Mining Massive Dataset, CS248 Interactive Computer Graphics, CS348B Computer Graphics: Image Synthesis Techniques, CS161 Design and Analysis of Algorithms, CS145 Data Management and Data Systems

Professional Experience

NLP Research Intern, Tencent America

AI Lab. June 2019 - Sept. 2019, Seattle, WA
  • Researched on a chat-bot system design, and improved the performance of the algorithm of retrieving entities from knowledge graph and dialog act classification.
  • Processed Wikidata dataset and Wikipedia pages with , and used them to optimize the performance named-entity recognition (NER); optimized the performance of Chinese sentences segmentation.

Research Assistant, Stanford Vision and Learning Lab (SVL)

March 2019 - June. 2019, Stanford, CA
  • Researched on the project "Gibson Environment" and focused on augmenting 3D reconstruction with CAD models using Multi-view RGB information and deep-features for embodied agents interactive simulation.
  • Worked with Professor Silvio Savarese and collaborated with PhD students and PostDoc.

Senior Android Engineer, Instanza Network Technology Co., Ltd.

Android Team, June 2016 - Aug. 2018, Hangzhou, China
  • Undertook product development, package build and release for Soma Messenger on Android, an instant messaging APP in 32 languages providing video calls for more than 10 million users worldwide; improved performance of application and user experience by optimizing and refactoring key modules.
  • Improved performance of application and user experience by optimizing launch time, solving problems such as low video call quality, animation performance, low hit rate of cache and memory leaks.
  • Collaborated with teams at Huawei, Kanvas and other international companies to complete projects such as HiMe, Kanvas Camera Integration, PIXY Live, and Coco; enhanced technical skills and improved capability for fixing issues of international user profiles.

Android Engineer, Qiudao Network Technology Co., Ltd.

Android Team, Nov. 2015 - June 2016, Hangzhou, China
  • Collaborated on the design and development of Baomingba, a product offering logistical services that improve the organizational and planning processes of conferences, mega events and other activities.
  • Completed over 20 iterations of the development of the Android client with the technical and design teams.
  • Researched Android development about MVC and MVP pattern design, custom view, animation, code obfuscation, interaction with JavaScript interface in WebView; investigated design patterns, database design, network programming, web development.
  • Utilized third-party open source libraries, such as EventBus, ButterKnife, UniversalImageLoader, AsyncHttpClient, GreenDAO, Retrofit, etc.

Software Engineer Intern, Intel China Ltd. Beijing Branch

Open-Source Technology Center, Software Service Group(SSG), July 2014 - May 2015, Beijing, China
  • Researched on the project “Multi-Device Interaction System” and implemented it independently; investigated the architecture of the Android Open Source Project and integrated Multi-Device into Android framework.
  • Surveyed the knowledge of Mesa 3D, EGL; delved into OS, computer networks, data structure and algorithms.

Projects

Software Related

3D Reconstruction Augmentation

Stanford VL, Stanford, CA, Mar.-June. 2019
  • Augmented Scan2CAD with RGB information and deep features extracted through Mask-RCNN to enhance 3D reconstruction and robotics interactive simulation.
  • Reconstructed camera trajectory, selected video frames containing key points, extracted deep features using Mask R-CNN, back-projected averaged features to 3D models, trained multi-task models with multi-view features.

ACM RecSys Challenge 2019

Stanford, CA, Mar.-June. 2019
  • Explored Trivago recommender system challenge dataset, extracted multiple effective features, improved the mean reciprocal rank (MRR) from 0.28 to 0.60 through our session-based and context-aware recommender system.
  • Modeled this problem into a binary classification task, tested and selected features extracted from the data using linear regression and XGBoost, designed a transition CNN model and built multiple models ensemble pipeline.

Rendering Realistic Whiskey

1st Prize in CS348B Rendering Competition, Stanford, CA, Mar.-June. 2019
  • Implemented stochastic progressive photon mapping algorithm and applied layered materials to render a realistic whiskey image with complicated environmental lighting, caustics, reflection, refraction and out of focus effect.
  • Modeled the raw scene in Blender and rendered the image with PBRT.

1 st Prize in CS348B Rendering Competition: Realistic Whiskey

Ensemble BERT with Data Augmentation and Linguistic Knowledge on SQuAD 2.0

Ranked #1 on CS224N (Instructed by Prof. Christopher Manning) PCE leaderboard, Stanford, CA, Feb.-Mar. 2019
  • Proposed a Question Answering (QA) system based on BERT baseline model and improved F1/EM score to 81.76/79.43 which are 1.5%/2.7% higher than single BERT baseline model on SQuAD 2.0 dev set.
  • Augmented SQuAD 2.0 dataset by performing synonym and random word replacement with NLTK and WordNet on the contexts and explored different sampling strategies; employed linguistic knowledge to adjust the probability of answers; ensembled trained models on TPU with weight; fixed issues of BERT source code when predicting.
  • Ranked #1 on CS224N course leaderboard of SQuAD 2.0 for PCE projects and won 1st Prize in poster session evaluated by Prof. Chris Manning and teaching staff.
  • Poster, report, news from Prof. Chris' Twitter are available.

A Neural Machine Translation System with RNNs

Stanford, CA, Feb. 2019
  • Learned to build a Neural Machine Translation (NMT) system with a Bidirectional LSTM Encoder and a Unidirectional LSTM Decoder, as well as attention mechanism.
  • Implemented core modules: embedding conversion, parameters initialization, encoding and decoding procedures.
  • Trained this model on Azure and achieved BLEU score 22.56.

A Conversation Translation App using Google Machine Learning API

TreeHacks, Stanford, CA, Feb. 2019
  • Developed an Android App using Google pre-trained machine learning model: Speech-to-Text and Translate API to translate conversations among humans directly from speaking.
  • Implemented the audio input recognition and languages detection that makes it possible to translate different languages automatically and help people speaking different languages communicate freely.
  • Designed the UI and animations in Material Design style.

Cardinal3D Mesh Editor and Animation System

Stanford, CA, Feb.-Mar. 2019
  • Applied key algorithms of mesh operation and animation in C++, and got familiar with the rasterization pipeline.
  • Comprehended geometry representation, half-edge data structure and implemented local mesh operations: edge flip, split, collapse, beveling, and global operations: Catmull-Clark subdivision, simplification and isotropic remeshing.
  • Implemented Hermite Curve and Catmull-Rom spline interpolation, skeleton kinematics, linear blend skinning, and a real-time shader supporting Phong Reflectance, normal mapping, environment lighting, PCF shadows.

StackOverflow Question Quality Analysis with Machine Learning

Stanford, CA, Oct. 2018 - Nov. 2018
  • Analyzed public StackOverflow dataset on BigQuery with E/R diagrams, selected potential features affecting the quality of questions on StackOverflow.
  • Sampled and extracted data with SQL, visualized data with Altair lib on CoLab, and filtered related features.
  • Predicted the result of selected features using logistic regression provided by BigQuery Machine Learning Module, evaluated the analysis with predictions.

Automated Liver Segmentation via Mask-RCNN

Stanford, CA, Oct. 2018 - Dec. 2018
  • Researched a wide range of architectures, adopted Mask-RCNN for the task of segmenting both the liver and its lesions from CT scans, and proposed a novel cascaded architecture together with our team.
  • Enlarge dataset with augmentation methods and generated masks as training labels in MatLab.
  • Set up development machines and environment, fixed issues with TensorFlow, GPU driver and other dependencies, and completed final report and poster.

A Profit Calculator for Transferring Cryptocurrencies

Personal open source project, available on GitHub, Jan. 2018
  • Designed and developed a Java project to calculate the profit to transfer cryptocurrencies between different exchanges every 30 seconds which could rank the profit ratio for transferring different coins and present the best transfer strategy.
  • Employed Retrofit to obtain data from exchange's API and GSON to parse Json data structure; utilized RxJava and Handler to implement multiple threads and asynchronous data processing.

Multi-Device Interaction System Based on Android Framework

Intel, Beijing, China, Oct. 2014 - May. 2015
  • Designed the architecture of “Multi-Device Interaction Systems” in native API style and service mechanism, which could enable Android devices to share hardware and software resources with peripheral devices.
  • Implemented the system in Android Open Source Project, and built an independent SDK including JAR, SO, API docs and 3 demos.
  • Investigated the architecture of the Android system and compile system; delved into operating system, computer network, data structure and algorithms; learned Linux shell, makefile, Git and other development tools.
  • Videos of demos are available on Youtube: DEMO_0, DEMO_1, DEMO_2

A Web Login System Based on CAPTCHA of Mandarin Voice

Advisor: Team Leader, Advisor: Yu Zhang, ZJU, Apr. 2014 - July 2014
  • Collaborated with two others to develop a vocal CAPTCHA login system to help the disabled use the Internet and received the First Prize in the 2014 National College Student Information Security Contest in recognition.
  • Surveyed the features of mandarin pronunciation and the pathways to process voice files with algorithm of random.
  • Implemented a voice-processing algorithm in MATLAB and integrated it with the Web login system coded in C#; devised a test method of measuring the robustness of the system to ensure the applicability.
  • Engaged in the final defense of the contest, the design of the algorithm and MATLAB development.

Hardware Related

Fabrication Process Improvement of PDMS Semipermeable Membrane for IMS

Advisor: Prof. Xiaozhi Wang, Institute of Microelectronics and Optoelectronics (IMO), ISEE, ZJU, Oct. 2015
  • Stabilized the properties of the skin-like sensor employing the piezoresistive and resistive mechanisms of multi-wall carbon nano tubes (MWCNTs) to imitate touch, pain, thermal and other sensations by determining the parameters of fabrication and packaging the sensor with a layer of PDMS, improving the precision of the sensor data analysis.
  • Designed a multi-channel signal amplification and acquisition circuit for the skin-like sensor, developed a system with an embedded board of MSP430 and MATLAB to analyze and visualize the data of sensors.
  • Improved the accuracy of data visualization and the flexibility of the system, made it possible for practical application on five-fingered robotic hand and etc;
  • Engaged in circuit design, simulation and welding, PCB design, embedded and MATLAB development.

Skin-like Sensor Signal Acquisition and Analysis System

Advisor: Prof. Xiaozhi Wang, ISEE, ZJU, Jun. 2015 - Aug. 2015
  • Stabilized the properties of the skin-like sensor employing the piezoresistive and resistive mechanisms of multi-wall carbon nano tubes (MWCNTs) to imitate touch, pain, thermal and other sensations by determining the parameters of fabrication and packaging the sensor with a layer of PDMS, improving the precision of the sensor data analysis.
  • Designed a multi-channel signal amplification and acquisition circuit for the skin-like sensor, developed a system with an embedded board of MSP430 and MATLAB to analyze and visualize the data of sensors.
  • Improved the accuracy of data visualization and the flexibility of the system, made it possible for practical application on five-fingered robotic hand and etc;
  • Engaged in circuit design, simulation and welding, PCB design, embedded and MATLAB development.

Pipelined MIPS Processor Implementation on Xilinx FPGA Platform

GitHub, ZJU, Nov. 2013 - Dec. 2013
  • Implemented a five-stage pipelined MIPS processor in VHDL on the Xilinx FPGA development platform.
  • Delved into computer organization and design, probed into the interrelations of the transistor, logic gate, digital circuit, processor architecture and instruction set by reflecting on the courses of digital and analog circuits.
  • Engaged in coding in VHDL, simulation in ModelSim, FPGA development.