Skip to main content

Posts

Showing posts from 2019

What happens if gradient is set at 1 in "Gradient descent algorithm"

So, What is gradient descent algorithm ?  - Given a feed forward netword we apply gradient descent as a fundamental function of Operation : 1. Randomly initialize : b, W1, W2, ... , Wm 2. Repeat untill convergence 3. Predict y(i) for each data point in training 4. Calculate loss J(b,w) 5. Calculate gradient of J(b,w)      b(new)   =  b(old)   -a.gradient     w1(new) =  w1(old)-a.gradient.w1     w2(new) =  w2(old)-a.gradient.w2     wm(new) =  wm(old) - a.gradient.wm 6. Update b,w1,w2,......,wm .. Simulateneously.. - When "Louis Augustin Cauchy" needed a function to find local minima he used idea of slope to iteratively move in direction guided by slope to reach local minima. - Using the same idea in feed forward networks leads to convergence of minimum error. Why gradient anyway ? So if gradient is set to 1 or in other words if we dont use gradient descent we reach to a point directly on x - axis which will not be the required local minima.

Whirlwind Questions : Kubernetes

What is Kubernetes ? Goole Tells :  Kubernetes is an open-source container-orchestration system for automating application deployment, scaling, and management. It was originally designed by Google, and is now maintained by the Cloud Native Computing Foundation.  What is container-orchestration ?  Goole Tells :  Container orchestration is the automatic process of managing or scheduling the work of individual containers for applications based on microservices within multiple clusters. Who are Cloud Native Computing Foundation ?  Google Tells : The Cloud Native Computing Foundation (CNCF) hosts critical components of the global technology infrastructure. CNCF brings together the world's top developers, end users, and vendors and runs the largest open source developer conferences. Why did goole let CNCF let develop Kubernetes ? - Actually its still with Google. Google partners with Linux Foundation to form CNCF. History here :  https://blog.risingstack.com/the-history-of-kub

3 Dimensions of a Programming Language

- I believe there are 3 broad areas for mastering any programming language : 1. Language Internals 2. Programming Constructs offerred 3. Standard library written already in that particular language. And these 3 categories are in order of priority to hone mastery in a given programming language. Priorities are always decided based on goals. So, here the premise for setting this priority is having said to have mastered such programming languge we should be able to read a large code corpus with ease and understand what the programmer who originally wrote this code intended to do with it. Why Language Internals take a first priority ? - Because we as a software enginners write a tool chain and compilers only to solve existing issues faced in some other programming language. When assembly was just making computer do its job it was difficult for a programmer to express his algorithms in faster way hence came languages like B,C, Fortran and BASIC. After some time into building this t

Docker Internals : Demistifying Container

PID namespaces : Every running process sees only a limited set of resources. This limited resource set is identified by notion of namespace. In linux kernel for PID namespaces to be enabled CONFIG_PID_NS has to be made true. Network namespaces :  Network support at operating system level contains network interface and routing table entries.There resources are typicall shared across entire OS. This typical behaviout can be altered by notion of Network Namespaces. With particular namespce we can isolate acess to network interface and routing table created hitherto. IPC namespace :  Message queues, shared memory or socket communication can all be isolated with IPC namespce support provided by operating system MNT namespace : Mount is a process abstration which enables access to storage devices.Notion of mount space enables OS to have isolated filesystems accessible to process that are executing. UTS namespace :  UTS stands for UNIX Timesharing Sytem

Typical Document Processing Operations

First rule of document pre-processing : Improper pre-processing schemes may lead to losss of lexical content. Hence, pre-processings steps are unique to a problem. Having said that there are few pre-processing steps which applies to most of the application at hand. They are : a. tokenization b. normalization  c. substitution. Other well known pre-processing steps : a. Case folding b. Stemming c. Lemmatization d. Remove misspellings e. Punctuations. What is a stemming operation ? - Process of reducing a inflected word to its root. Where inflected word is a word with extra letter or letters added to nouns,verbs and adjectives in different grammatical forms. What is lemmatization ? - Here also there is reduction in inflected word to its root, however stemming resultant need not to be a proper word in vocabulary but in case of lemmatization word has be part of the given language vocabulary. What is case folding and its usage ? - Case-folding is a part of the Unicode standard t

Applications of Vector Space Model

What does vector space model mean ? - It's an algebraic representation of text documents. Why do we need to represent text documents algebraically ?  - Typical algebric operations gets simpler to perform and visualize.  - Information retrival, filtering, indexing, ranking can be made with standard procedures and helps to have standardized measuring metrics around it. So how is vector space model helping in Information retrval ?

Free MPI platform for High Performance Computing

Here is the official website of HPC @ Uni.lu platform, which assembles information about the computing clusters operated by the  University of Luxembourg  and the organization running them :  https://hpc.uni.lu/ Page here :  https://ulhpc-tutorials.readthedocs.io/en/latest/parallel/basics/  , helps you get started for using the computing resources offerred by the platform. For learning OpenMP from scratch there is none better than this :  https://nptel.ac.in/courses/106102163/

On Tabs With Tech : End to End Deep Learning Compiler Stack

With universal approximation theorem growing forward interms of Deep learning. Today we have deticated harware backends for machine learning backends. With many backend options available there are separate tool chains available for myraid deep learning backends. TVM open deep learning compiler stack is an effort in having a common software toolset to build models with harware backend abstracted. Do visit  here for more info : tvm.ai/about.

Microservices In Nutshell

What are Microservices ? A dialect of service oriented architecure where the services are fine grained and loosely coupled. Also protocols for communication are lightweight. Whare are the major projects today in industry which are microservices ? Few companies which use microservices are : Comcast Cable,Uber,Netflix,Amazon,Ebay,Sound Cloud,Karma,Groupon. What are the problems in Service Oriented Architecture which microservices solved ?  - Allows skill set flexibility : Multiple technologies can be used to develop the parts isolated.  - Easy and less risky deployment : Replacing only the changed parts of the program.  - Individual services can be scaled.  - Application lifecycle flexibility : can develop individual services in isolation.  - Overall user experience improvement What is a monolithic architecture ? In monolithic application all ther requirements of the application will be provided by a single application abstraction. So, Is there any threshold to consider