最初は誰もが初心者!難しくて挫折するのが当然!【プログラミング学習】

AI Business

皆さん、こんにちは。知也です。

今日はAIを学び始めた私が約2ヶ月でどの程度までレベルが上がっているかについてお話ししたいと思います。

このブログはこれまでITに興味がなかった方や、非エンジニアの方が少しでもAIを学ぶきっかけになってくれればと思い始めているので、

実際にプログラミング初学者の私が日々どんな過程で成長していくのかも綴っていきますね。

  • 6ヶ月の長期コースに参加
  • 何となくできるようになったこと
  • 最初は誰もが初心者!

6ヶ月の長期コースに参加

2019年5月11日より第3期の6ヶ月長期コースに参加しています。(半年間 毎週1回6時間のプログラム)
このコースはAIを実装できる人材になるための長期コースで、日本ディープラーニング協会の認定講座でもあります。

キカガクでは社員育成のために自社の講義への参加が権利として与えられます。あくまで権利ですので行使するかは各自の自由。当然私は前のめり参加です!

内容はこんな感じです。

  • 機械学習の基礎
  • 深層学習の基礎
  • WEBスクレイピング
  • Flask、Djangoアプリ作成
  • Dockerで環境構築
  • 画像処理、自然言語処理
  • オリジナルアプリケーションの開発

とにかく内容が濃いです。
機械学習、ディープラーニングには主にPythonの知識が必要ですが、それ以外にも機械学習、ディープラーニングの前提となる数学の知識がなければ応用が効きません。
その辺りも講義で行うのですが、別でUdemyのオンライン講義があるのでそれは事前学習、自主学習となっています。

このコースの良いところは単に機械学習、ディープラーニングを学ぶだけでなく、実際にアプリケーションの制作までできるところです。
アプリケーション制作にはサーバーやデータベース、Webフレームワークなど様々な知識が必要となります。

ここら辺を一度に網羅してもらえるといざ自分でやろうと思った時のイメージがつきやすいです。

とにかく最初はわからない、それでも前に進むしかない

オンラインの事前講義は大変わかりやすいです。
ただ講義を聞きながらその場で理解できるのと、後から実践するのは全く別の話です。

とにかく最初は分からないことが多すぎました。単語を調べて、調べているうちにまた違うわからない単語が出てきてそれを調べないといけない。ワードサーチのエンドレスリピートですね。

そしてやっかいなのが、基本Googleで調べれば分かるのですが、書いている人、記事によって微妙に単語の意味合いや表現が違うんです。
だから最初はこっちではこういう表現で、こっちではこういう表現で、つまりどういうこと?となります。

そんなもやもやを抱えながら、それでも前に進むしかない!そんな状態でした。
2ヶ月ほど経って振り返れば、オフラインの講座は良い意味で強制参加なので、途中で挫折するということが防げたなと思います。

最初調べても分からないことだらけでしたが、何度も繰り返しているうちに完璧ではないですが、段々こんなことかなーと理解できるようなりました。

最初から完璧を求めすぎない、大事ですね!

何となくできるようになったこと

・Pythonのインストール
・ターミナルでフォルダを選択し、jupyter notebookを起動
・jupyter notebookの基本的な使い方
 ∟(ファイルの作成、名前変更、保存、DLなど)
・Pythonの基本的な使い方
 ∟(Pandas、NumPyなどの基本ライブラリの操作、簡単なデータの可視化)
・機械学習かける前のデータ処理
 ∟(データ数やデータタイプの確認、欠損値の除去、補完、カテゴリーデータの変換など)
・重回帰分析の実装

一度やったけどまだよくわかってないこと

・簡単なHTML、CSS、JSの実装
・Webスクレイピングの実装
・ロジスティック回帰や決定木、SVMなどの機械学習アルゴリズムの理解と実装
・FlaskやDocker、Gitなどの使い方
・ディープラーニングの自然言語処理、画像処理の理解と実装

自主学習も含めてちょうど3ヶ月くらいでこんな感じです。
振り返ってみると以外にいろいろなことができるようになったと感じます。まだまだ仕事で使える、人に教えられるレベルではないですが、過去ターミナルの操作も分からなかった私からすると大きな進歩です。

最初は誰もが初心者!

3ヶ月ほど経って改めて振り返るとプログラミングってそんなに難しくないんじゃないかって思えてきました。

そして、プログラミンやAI、ディープラーニングの可能性も見えてきたので、「プログラミングって思ったより簡単だからやってみなよ!」って友達に勧めてみたんです。

そしたら何て返ってきたと思いますか?

「それはお前ができるから簡単なんだ。」

この言葉で私は我に返りました。
私も決してできるわけじゃない、ただ、これまでプログラミングに一切触れてない友人からすると、それは未知の世界だということ。

人はある程度時間が経つと、最初にできなかったことを忘れて簡単にできると思うようになります。

自転車とか今では何も意識しなくても乗れますよね。最初に補助輪を外したときはあんなに転んだのに!!

私も最初にプログラミングをやり始めた時はプログラミングって何て難しいんだ、と思っていました。

そのことを忘れて人に伝えても伝わらないですよね。

改めて初心は大事だと感じました。

初めての人にとってプログラミングは難しいです。
でも大丈夫です。自転車に乗った時と一緒で誰もが最初は初心者です。最初は転ぶことも多いですが、少しずつ乗れるようになります。

私もまだまだ補助輪が取れませんが、みなさんと一緒に学んでいければと思います。

それではまた。