Cedric Chee's Personal Knowledge Base

website·Indexed 32 days ago

https://wiki.cedricchee.com/

A collection of personal study notes, curated resources, and course summaries covering computer science, machine learning, and software engineering. Includes detailed notes from fast.ai deep learning and machine learning courses, documentation on programming languages like Rust and JavaScript, database resources for Redis and SQLite, and summaries of 'A Philosophy of Software Design' by John Ousterhout.

Tokens
89.7K
Snippets
325
Records
680
Agent score
60%

What's inside Cedric Chee's Wiki

  1. Overview of JavaScript language characteristics

    JavaScript (JS) is a high-level, interpreted, or JIT-compiled programming language characterized as dynamic, weakly typed, and prototype-based. It is a multi-paradigm language supporting event-driven, functional, and imperative (including object-oriented) programming styles. While it provides built-in APIs for text, arrays, dates, regular expressions, and DOM manipulation, it relies on the host environment (e.g., web browsers, Node.js, databases) for I/O operations such as networking, storage, and graphics.
  2. Overview of Multi-object Detection concepts (Lesson 9)

    Multi-object detection involves moving from identifying a single object to multiple objects within an image. Key concepts include:

    • Single Shot MultiBox Detector (SSD): Uses a loss function combining localization and classification losses across multiple objects and leverages different receptive fields of CNN layers.
    • YOLO v3: A real-time object detection framework.
    • Focal Loss: A technique used to handle extreme foreground-background class imbalance during training.
  3. Overview of Generative Adversarial Networks (GANs) and Variants

    Generative Adversarial Networks (GANs) utilize a unique loss function where a Generator and a Discriminator compete. The Generator creates outputs, and the Discriminator attempts to distinguish them from real data; this process results in a model capable of producing highly realistic outputs.

    Key variants include:

    • Wasserstein GAN (WGAN): A variant that is easier to train and more resilient to hyperparameter changes.
    • CycleGAN: Allows for image generation even without paired training data, enabling unpaired image-to-image translation.
  4. Overview of Sequence-to-Sequence (seq2seq) Models for Translation

    A sequence-to-sequence (seq2seq) model is designed for tasks where both the input and output are sequences that can differ in length. In Neural Machine Translation (NMT), this is used to transform a source language sentence (e.g., French) into a target language sentence (e.g., English). Key advantages of NMT over statistical machine translation include end-to-end training (removing the need for manual feature engineering), the use of distributed representations, and the ability of RNNs to maintain long-term state for better context and fluid text generation.
  5. Overview of the fast.ai Machine Learning 2017 Course

    The fast.ai Machine Learning 2017 course, taught by Jeremy Howard and Rachel Thomas, uses a top-down teaching method. It utilizes the fastai library built on top of PyTorch. The curriculum is divided into two primary focuses: Decision Trees with Random Forests and Neural Networks for Deep Learning. Unlike the more intense Deep Learning course, this version focuses more on process, interpretation, and foundational details rather than building state-of-the-art models immediately.
  6. Overview of Super Resolution in Deep Learning

    Super resolution is a technique using convolutional neural networks (CNNs) to restore high-resolution details from low-resolution images. For example, a model can be trained to upscale a 72x72 image to 288x288. Because these vision models are typically not tied to a specific input size, a model trained on these dimensions can be applied to larger images (e.g., 288x288) to produce an output 16 times larger than the original. A key advantage of this task is that datasets can be generated without manual labeling by downsampling high-resolution images to create the low-resolution inputs.
  7. Overview of fast.ai Lesson 3 Deep Learning topics

    Lesson 3 covers several advanced computer vision and NLP tasks and techniques:

    • Multi-label classification: Using the Kaggle Planet Amazon satellite image dataset.
    • Image Segmentation: Using the CamVid dataset and U-Net architecture.
    • Image Regression: Using the BIWI head pose dataset.
    • NLP Classification: Text classification techniques.
    • Core API/Concepts: fastai Data Block API, DataBunch class, Learning rate annealing, Mixed precision training, and the Universal Approximation Theorem.