Word Embedding

Embedding is a mapping between anything and a vector.

Each word is represented as a vector.
Similarity between words can be measured in the vector space called embedding space.

Word2Vec

Given a center word (with one-hot coding input), Word2Vec predicts context words (words before and after center word).
Because we are using one-hot vector, a column of weight becomes the hidden layer - called word vector.

Read more »

Transport layer

Transport layer provide logical communication between application processes running on different hosts.
Sender breaks application messages into segments, then passes to network layer.
Receiver reassembles segments into messages, then passes to application layer.

Transport layer and network layer

Transport layer is communication between processes. (TCP, UDP)
Network layer is communication between hosts. (IP, Router)

Multiplexing & Demultiplexing

Read more »

Video Streaming

CDN was first introduced to distribute non-video content, but it is widely used in video streaming these days.
Video traffic is a major consumer of Internet bandwidth. (80% of residental ISP traffic in 2020!)

Video is sequence of images displayed at constant rate. Because sending the video as is would eat up too much traffic, we use coding!
A single frame is chosen and called the keyframe - other frames are encoded as differences from the keyframe.

  • Spatial coding: Remove redundancy within image.

  • Temporal coding: Remove redundancy between image. (i.e. between frame i and frame i+1)

  • CBR (constant bit rate): Video encoding rate is fixed.

  • VBR (variable bit rate): Video encoding rate changes as amount of spatial, temporal coding changes.

Challenges

Read more »

Peer-to-peer (P2P) architecture

  • Arbitrary end systems directly communicate each other.
  • Peers request service from other peers, peers provide service in return to other peers.
  • Used for file sharing (BitTorrent), VoIP (Skype), etc.

Self scalability - new peers bring new service capacity, and new service demands!

File distribution time

How much time does it take to distribute file (size F) from one server to N peers?

Read more »

Prototypes

We need to test our ideas!
A prototype is a simplified and incomplete models of a design used to:

  • explore ideas
  • elaborate requirements
  • refine specifications
  • validate functionality

Why prototypes?

  • Designers can understand real-world design requirements
  • Designers can visualize, test, and improve design ideas early in the process
  • Early usability testing - we can catch issues before investing in full development
  • Investing early prevents expensive rework! (Pay less now or more later)
  • Prototypes are inexpensive, fast, flexible, so you can do more of them
  • More prototypes = More ideas = Better ideas (Quantity breeds quality!)
Read more »

What is Rotation?

Rotation is very nonintuitive;

In geometry, rotation is a movement that keeps at least one point fixed.
But in physics, rotation is extremely complex!

Intermediate axis theorem: Rotation around major and minor axis is stable, but rotation around intermediate axis is unstable!
The rotation axis keeps chaning, and the object can even be flipped!

Orientation vs. Rotation

Read more »

Multi-Layer Perceptron (MLP)

Biological Analogy

This is actually similar to Retinal Ganglion Cell (RGC, 망막 신경절 세포)
RGC is connected to a group of photoreceptors which detects the existence of light.
The pattern and motion information is then transferred to Primary Visual Cortex (V1).
V1 neuron receives information from multiple RGCs and output single response, just like weighted sum + activation function.

V1 is known to have 6 layers which is similar to filters in CNN.
V1 neurons in the same column (ocular-dominance column) detects line segment.
Adjacent columns detects slightly different line orientations.

A simple cells detects a line segment of a specific direction.
A complex cell receives information from multiple simple cells, and detects a line segment.
This is similar to layers - it can extract high level feature from low level feature!

Read more »

DNS (Domain Name System)

Internet hosts (or routers) has IP address and name.
DNS maps between IP address and name and vice versa.

DNS is a distributed database implemented in hierarchy of many name servers.
It is actually an application-layer protocol: hosts and DNS servers communicate to resolve names. (address/name translation)

DNS is at network's edge; It's not core function of network!

DNS uses TCP, UDP, or even TLS!

Read more »

E-mail

E-mail has three major components:

  • User agents
  • Mail servers
  • SMTP (Simple mail transfer protocol)

User Agents

User Agents compose, edit, read mail messages.

Read more »

Design Phase: Definition

Using data collected in the analysis phase,

  • Identify and name key persona: A fictitious user representing a class of users
  • Identify and name key goals:
    • What do users want to accomplish?
    • How do different goals relate to each other?
    • Goals are not Tasks! (i.e. not related to technology)

Elastic user

Elastic user can mean anyone and thus no one.
Vauge audience leads to unfocussed design.
Trying to design for everyone often means designing for no one!

Read more »
0%