Wednesday, May 24th, 2023
I’ve been using AI to create art, articles, music, and code. Here are my notes and impressions so far. Let’s see how well this ages.
Large language and generative models are powerful performance enhancers that bridge the gap between natural and formal language, but
they do not diminish the significance of human expertise in tackling novel challenges. The human brain is a pre-trained multimodal neural
network that provides the crucial context and motivation for problem-solving, inasmuch as humans are the ultimate consumers of the output.
In addition to supplying motivation, human expertise reduces AI model complexity. It’s expensive and time consuming to train large models
from scratch, and models are generally restrained by the size and quality of their datasets. There is a finite rate at which new training
data can be generated and sanitized. If you ask ChatGPT (May 2023) for help with the Mojo programming language, it will warn you that no such
language existed as of September 2021, its most recent training snapshot. We can refer ChatGPT to the web and use fine tuning to incrementally
improve GPT’s knowledge, but these approaches have their own trade-offs in terms of cost and effectiveness, and ultimately still rely on the
quality of the dataset.
Tuesday, January 10th, 2023
There’s a pattern with disruptive technologies where a new foundational capability emerges (e.g. the web, smartphone) and it sparks a wave of startups and investment,
followed by a significant market correction. Startups explore new experiences and capabilities enabled by technology while investors compete for their attention with sky
high valuations in a rush to avoid missing out. Reality eventually sets in, and the businesses that formed around a novel experience but lacked a viable business model are
forced to consolidate or fold. Technology that was initially a catalyst for disruption becomes commoditized and broadly incorporated into many products. The winners are few
but the spoils are tremendous.
Saturday, October 16th, 2021
Engineering is fundamentally about invention and discovery – pushing the boundaries of technology in a direction that unlocks new capabilities or experiences.
Innovation is lucrative, and the demand for qualified engineers has historically far outstripped supply. Within virtually every software company you’ll find ambitious product
roadmaps poised to deliver value, but hampered by time-to-market. If AI can significantly shorten the product development cycle, then businesses will need to decide whether to
accelerate their roadmap or maintain their current pace with fewer workers.
Friday, October 23rd, 2015
Over the last decade we've witnessed a transformation in human
interfaces brought on largely by advances in machine learning. Automated phone assistants, voice and text translators, self driving
cars, and much more, are all reliant on various forms of machine learning.
The randomized decision forest is a machine learning algorithm
that's useful for these kinds of tasks. This algorithm gained significant popularity over the last several years and serves as the heart
of the tracking algorithm within the Microsoft's Kinect product.
This article presents a casual introduction to randomized decision forests, follows with a simple example to highlight the
process, and lastly discusses important development considerations. This will not be a rigorous discussion and is intended
for those with a general interest in the subject without any prior experience.
Sunday, October 11th, 2015
Several of the most popular virtual and augmented reality experiences involve video.
These videos come in a variety of formats including combinations of stereoscopic 3D,
360° panoramas and spherical views. Unfortunately, these formats place significant
strain on our processors, memory, and network bandwidth due to their increased requirements for
resolution, framerate and latency.
To cope with this trifecta of video compression challenges, we need a video codec that capitalizes
on the potential for increased levels of self similarity and inter-frame correlation within these kinds
of videos.
The following is a list of basic mixed-reality centric features that could be integrated into a modern
video codec to help achieve higher compression efficiency for VR content, while lowering processor and
bandwidth costs.
Sunday, July 5th, 2015
Rate control, in the context of video streaming, is the continual process of measuring a user's network connection quality and adjusting the video quality parameters
to ensure a smooth viewing experience. It's difficult to get right, as it must account for several dynamic factors including the encoder and decoder processing
performance and unforeseeable fluctuations in network conditions.
Furthermore, due to the pipelined nature of streaming and the bullwhip effect of congestion, recovery systems typically need to over-compensate
for fluctuations by abruptly stepping quality down to a level that the network can sustain. Some of these abrupt changes are more noticable than
others, due to the nonlinear relationship between bitrate and perceived quality.