Hero Image
Installing Kaldi with MKL support without root access

Kaldi has recently switched to Intel Math Kernel Libraries (MKL) for linear algebra operations (as of April 2019). However, installing MKL (by running tools/extras/install_mkl.sh) requires root access. This post details how kaldi (with MKL) can be installed without root access. Download Kaldi Download the MKL standalone installer from here. Extract the contents and launch the installer by running install.sh. When asked for the path to install, specify a location where you have write access (e.g., /home/<username>/intel) Complete the installation of MKL libraries Navigate to the kaldi folder kaldi/tools Typically the first step is to run extras/check_dependencies.sh. This will complain about the missing MKL libraries. This is because the script expects the MKL libraries to be located under /opt/intel directory. As of now (May 2019), there is no option to pass the mkl-root directory to this script. Therefore we will edit the extras/check_dependencies.sh script by changing /opt/intel/mkl/include/mkl.h to /home/<username>/intel/mkl/include/mkl.h. Then running extras/check_dependencies.sh should work fine without any MKL related warnings. Then run make -j <numcpu> to install the tools required by kaldi Navigate to the kaldi/src folder. Run ./configure with the --mkl-root option. ./configure --shared --mkl-root=/home/<username>/intel/mkl Then install kaldi using the usual steps make depend -j <numcpu> make -j <numcpu> This will install Kaldi with MKL support without requiring any root privileges.

Hero Image
Google Duplex

ഒരു കമ്പ്യൂട്ടർ നിങ്ങൾക്കുവേണ്ടി ഒരു ബാർബർ ഷോപ്പിലേക്കോ ഹോട്ടലിലേക്കോ ഫോൺ ചെയ്തു റിസർവേഷൻ എടുത്തുതരുന്ന കാലത്തെപ്പറ്റി നിങ്ങൾ ചിന്തിച്ചിട്ടുണ്ടോ? എങ്കിൽ അറിയുക, നാം അവിടെയെത്തിയെന്ന്! അതാണ് ഗൂഗിൾ ഡ്യൂപ്ളെക്സ് (Google Duplex) . ആർട്ടിഫിഷ്യൽ ഇന്റലിജൻസ് സീരീസ് ഭാഗം- 5 AI രംഗത്തെ ഏറ്റവും പ്രധാനപ്പെട്ട നാഴികക്കല്ലുകളിലൊന്നിനാണ് നമ്മൾ ഇന്നലെ സാക്ഷ്യം വഹിച്ചത്. നമുക്കുവേണ്ടി ഫോൺ കാളുകൾ നടത്താനും അവിടെയുള്ളവരോട് സംസാരിക്കാനും കഴിയുന്ന AI സംവിധാനമായ Google Duplex ഇന്നലെ ഗൂഗിൾ അവതരിപ്പിച്ചു (വീഡിയോ കാണുക). Google assistant കുറെ കാലമായി നമ്മൾ കണ്ടിരുന്നതാണെങ്കിലും അതിനു ധാരാളം പരിമിതികളുണ്ടായിരുന്നു. അതിൽനിന്നൊക്കെ വളരെയധികം മുന്നോട്ടുപോയ ഒരു മനുഷ്യൻതന്നെയെന്നു തോന്നിപ്പിക്കുമാറ് നമ്മുടെ സംസാരത്തിലെ ചെറിയ കാര്യങ്ങൾ വരെ (ഇടക്കുള്ള pause, hmmm, err ശബ്ദങ്ങൾ) ഉൾപ്പെടുത്തിയാണ് ഈ AI സംവിധാനം സംസാരിക്കുന്നത്!

Hero Image
ആർട്ടിഫിഷ്യൽ ഇന്റലിജൻസ് സീരീസ്: ഭാഗം - 4

ആർട്ടിഫിഷ്യൽ ഇന്റലിജൻസ് ഗവേഷണത്തിൽ ഇന്ന് ഏറ്റവുമധികം ഉപയോഗത്തിലിരിക്കുന്ന ന്യൂറൽ നെറ്റ്‌വർക്കുകളെ കുറിച്ചാണ് കഴിഞ്ഞ ഭാഗത്തിൽ പറഞ്ഞത് (കഴിഞ്ഞ ഭാഗം ഇവിടെ വായിക്കാം). ഇനി ചരിത്രത്തിലെ രണ്ടാം ഘട്ടത്തിലേക്ക്. മുമ്പുപറഞ്ഞതുപോലെ ന്യൂറൽ നെറ്റ്‌വർക്കുമായി ബന്ധപ്പെട്ട ആദ്യകാല ശ്രമങ്ങളും ഗവേഷണങ്ങളുമാണ് ഈ ഭാഗത്തിൽ. 1943 - ഇലെക്ട്രിക്കൽ സർക്യൂട്ടുകൾ ഉപയോഗിച്ച് ഒരു ന്യൂറൽ നെറ്റ്‌വർക്ക് നിർമ്മിക്കപ്പെട്ടു നമ്മുടെ ന്യൂറോണുകൾ എങ്ങനെയായിരിക്കും പ്രവർത്തിക്കുന്നത് എന്നതിനെപ്പറ്റി ന്യൂറോഫൈസിയോളജിസ്റ്റായ വാറൻ മക്കുല്ലോഷും ഗണിതജ്ഞനായ വാൾട്ടർ പിട്സും ചേർന്ന് ഒരു സിദ്ധാന്തം അവതരിപ്പിച്ചു. അതിന്റെ ഒരു ചെറിയ മോഡൽ ഇലെക്ട്രിക്കൽ സർക്യൂട്ടുകൾ ഉപയോഗിച്ച് അവർ നിർമിക്കുകയും ചെയ്തു. നമ്മുടെ ശരീരത്തിലെ ന്യൂറോണുകളുടെ പ്രവർത്തനത്തെപ്പറ്റി അനുലഭ്യമായിരുന്ന പരിമിതമായ അറിവുവച്ചാണ് അത്തരമൊരു മാതൃക അവർ നിർമ്മിച്ചത്. 1952- checkers game കളിക്കുന്ന കമ്പ്യൂട്ടർ

Hero Image
ആർട്ടിഫിഷ്യൽ ഇന്റലിജൻസ് സീരീസ്: ഭാഗം - 3

ന്യൂറൽ നെറ്റ്‌വർക്കുകൾ 1950 കൾക്ക് മുൻപുള്ള, ഇന്നത്തെ കമ്പ്യൂട്ടർ സയൻസിന്റെയും ആർട്ടിഫിഷ്യൽ ഇന്റലിജൻസിന്റെയും വളർച്ചക്ക് വിത്തുപാകിയ ചില സിദ്ധാന്തങ്ങളാണ് കഴിഞ്ഞ ഭാഗത്തിൽ പറഞ്ഞത്. അത്തരം സിദ്ധാന്തങ്ങളിൽ നിന്നും പ്രചോദനമുൾക്കൊണ്ട് പ്രവർത്തിക്കുന്ന യന്ത്രങ്ങൾ 1950 കൾക്ക് ശേഷമാണ് യാഥാർഥ്യമായത്. അന്നുമുതൽ 2006 വരെയുള്ള കാലമാണ് AI ചരിത്രത്തിലെ രണ്ടാം ഘട്ടം. അതിലേക്കു കടക്കുന്നതിനുമുന്പ് നമ്മൾ ന്യൂറൽ നെറ്റ്‌വർക്ക് എന്താണെന്ന് മനസിലാക്കേണ്ടതുണ്ട്. കൃത്രിമബുദ്ധി അഥവാ AI എന്നത് മഷിനുകൾക്കു മനുഷ്യനെപ്പോലെ ചിന്തിക്കാനുള്ള ബുദ്ധി കൃത്രിമമായി നിർമിക്കുന്ന പ്രക്രിയയാണ്. നമ്മുടെ തലച്ചോറിനെയും, അതിലേക്കു ബന്ധപ്പെട്ടിരിക്കുന്ന, നമ്മുടെ ഇന്ദ്രിയങ്ങളിൽനിന്നും സിഗ്നലുകൾ അവിടേക്കെത്തിക്കുന്ന ന്യൂറോണുകളെയും അടിസ്ഥാനപ്പെട്ടാണ് നമ്മുടെ ബുദ്ധി ഇരിക്കുന്നത്. നമ്മുടെ തലച്ചോറിൽ 100 ബില്യണിലധികം ന്യൂറോണുകൾ ഉണ്ടെന്നാണ് കണക്ക്. നമ്മുടെ ഇന്ദ്രിയങ്ങളിൽ നിന്നും വരുന്ന ഇത്തരം കോടിക്കണക്കിനു സിഗ്നലുകളെ ക്രോഡീകരിച്ചാണ് നമ്മുടെ തലച്ചോറ് സംവേദനം (പെർസെപ്ഷൻ) എന്നത് സാധ്യമാക്കുന്നത്. ഉദാഹരണം പറഞ്ഞാൽ, നാം ഒരാളെ കാണുമ്പോൾ അയാളിൽനിന്നും വരുന്ന പ്രകാശകിരണങ്ങൾ നമ്മുടെ കണ്ണിൽ പതിക്കുകയും ആ കിരണങ്ങൾക്കനുസൃതമായി കണ്ണിൽ നിന്നും സിഗ്നലുകൾ തലച്ചോറിലേക്ക് ന്യൂറോണുകൾ എത്തിക്കുകയും ചെയ്യും. ഈ സിഗ്നലുകളിൽ നിന്നാണ് നമ്മുടെ തലച്ചോറ് നാം ആ ആളെ കണ്ടു എന്ന തോന്നൽ അല്ലെങ്കിൽ perception ഉണ്ടാക്കുന്നത്. കാഴ്ചക്ക് തലച്ചോറിലെ visual cortex എന്ന ഭാഗമാണ് പ്രധാനമായും ഉപയോഗിക്കുന്നത്. നമ്മുടെ തലച്ചോറ് ന്യൂറോണുകളിൽനിന്നും വരുന്ന സിഗ്നലുകളെ എങ്ങനെ ക്രോഡീകരിക്കുന്നു എന്നത് ഇന്നും നമുക്കധികം മനസിലാകാത്ത വിഷയമാണ്. അത് അറിയില്ലാത്തതുകൊണ്ടാണ് AI തീരുമാനങ്ങൾ (decision making ) എടുക്കാൻ മറ്റു സങ്കേതങ്ങൾ ഉപയോഗിക്കുന്നതും. (മറ്റു സങ്കേതങ്ങളെ പറ്റി വരും ഭാഗങ്ങളിൽ പറയാം)