卒論とは終わらないものである。

ようやく卒論が終わりましたとさ。

さて、一行目からタイトルと矛盾しているようですが、「卒論 終わらない」と検索し続けるあなたと私を勇気づけられるようなモノが書ければと思いこのようなきざなタイトルを付けた次第です。

置かれている状況によっては全く役に立たないし、くだらないことに悩んでいると思う人もいるでしょうが、(特にマイノリティであればあるほど)個人的な苦悩をネットにうち捨てておくことは基本的に良いことのような気がしているので・・・。

ブログを書くにあたって何かしらの権威性(とも言えないですが・・・)があったほうがいいということらしいので、手前味噌ですが某国公立大で最高評定(秀とか優上とかそういうやつ)が得られたという微妙な事実を添えておきます。このような一文にある種の嫌悪感を感じた人は読むのをやめるのも致し方なしでしょう・・・。

ただし、この記事はハウツーとか方法論に見せかけたポエムです。私自身、ある種の権威性を出して根拠の薄い独自の方法論を薦めることや、逆に「こんな私が・・・」という逆転ストーリーを語ることに少し懐疑的ではあります。(という言い訳です。薬機法逃れみたいなもんです。)

(読みたくない人用:この文の要旨はすごく普通で、「想像しうるベストな卒論は我々凡人にはどうせ無理なので自分なりのベターを選び続けろ」といったようなことであり、そのための方法論に見せかけたポエムが書いてあります。「どうせ不完全なままに卒業する」という意味で、卒論は終わらないということです。この種の諦めは、多くの人の人生を豊かにしてくれると信じています。)

筆者の卒論

一応私の卒論の内容についてざっくりと書いておきます。私はロボットをプログラムして賢く動かす的な卒研をしていました。まあルンバとかペッパー君にちゃんと労働させたい!みたいなもんだと思ってください。また、もともと研究室が持っていた手法の改善みたいなものをしたんだなーともイメージしてもらえればと思います。

これを、

従来手法の理解 → 手法を実装(プログラム)して追試 → 改善部分を実装 → 検証

みたいな流れで進めました。以下にはこのような手順を踏んで完成を目指す中で得られた、あまりにも当たり前過ぎる方法論を諦観たっぷりに書き散らします。これらが悩める私とあなたにとって何かしらの救いになることを願っています。

「理解する=目的が達成できる状態になる」と意識

まず私が困ったのは先行研究の理解です。最初のうちは新しい概念を勉強して面白いねーなんて思っていたのですが、どうもちゃんとした理解ができていないような感じがいつまでもぬぐえませんでした。ざっくりとしたイメージとか計算自体は分かるのですが、どうも結局本質に踏み込めてない感というか・・・。実際、専門書っぽいものは難しくて読めませんでした。

血迷った私は「きちんと数学を勉強すれば理解できるかも!」なんて言って数学書を買い込んで深みにはまった挙句挫折することを繰り返しました。これはこれで面白い部分もあったし、ある意味では正攻法なのでしょうが、私のような凡人には人生の浪費のようにも感じられました。

そんなことをしているうちにようやく観念して、卒論みたいなモノをやるときには「理解する=目的が達成できる状態になる」と設定することが大事なんじゃないかと思い至りました。抽象的なので補足します。

例えば私は「整数」について何となく理解しているような感覚を持っていますが、数学的に厳密な取り扱いについては何も知らず、東大の偉い先生がやってきて「あなたは整数について理解していますか?」などと聞かれると怖気づいて「いいえ・・・」と答えてしまいます。

ただし、整数の具体例を上げろと言われれば、1、2、3・・・といえますし、モノを数えることや、四則演算くらいならできたりします。大学入試の整数問題の多くは今はもう解けないかもしれません・・・。

この例でいう「整数の具体例を挙げる」「モノを数える」「四則演算ができる」「整数問題を解く」が目的にあたります。もちろん「四則演算ができる」とは何なのかとか「整数問題をどのくらい解ければよいのか」という問題も発生しそうですが、「理解した感覚を得る」よりはよほど具体的な設定な気がします。

私がやっていたことは、家計簿をつけるために数論の教科書を読むくらい馬鹿げたことだったと見ることもできます。(若干実利的すぎだと批判されそうですが、まあ工学部だし、何よりメンタルが落ち込んでいる人に正論など刺さりません!)

このように目的が達成できるようになるまで勉強することを意識することで必要以上に深みにはまることなく、卒研を前に進めることができると感じました。(もしかしたら、受験勉強ってそうやるのが普通だったのかもしれません。過去問が解けるように勉強するのが良いのです。当時からなんだか身の丈に合わない理想論を持っていた気がします・・・。)

さて、私の卒論で言うと、目的は「アルゴリズムをプログラムとして実装できる」「実験して考察が書ける」などでしょうか。しかし「実験して考察が書ける」なんてのはとても抽象的ですね。過去の関連研究やデータの解析の手法を知っていればいるほど深い考察が書けると思うのですが、それではせっかく目的を意識したのにまた同じ沼にハマってしまいます・・・。

まあ結局卒論ではどの程度できればいいのか

この沼から抜け出すために、つまるところ卒論レベルではどの程度できればいいのかを見極めることが重要事項の上位にくるんじゃないかと思いました。これまた普通なことかもしれませんが、一番最初からこれをやっておけばなーという思いがあります。

最初は卒論とはいえ論文なのでなんか神聖視していたというか、不必要に力んでいたような気がします。できる限り頑張れば何かちょっとでもすごい成果が出るんじゃないかと心のどこかに思ったり・・・。だから卒論レベルではどのくらいできればいいとか考えることはなんだか悪い事のような気がしていたのかもしれません。

でも、よく考えると結局卒論といってもなんだか制度じみたモノで、真理の追求みたいな尊い感じのする営みそのものではなく、その周辺にある書類仕事みたいなものだし、私個人の幸せはこの「タスク」では得ることはできないといったひねくれた見方もできるわけです。

そもそも卒論が泥沼化し、諦めようとしている時点でそこまで熱意がないのかもしれません。何かにこだわり続けることは本当に尊いのか考え直す時かもしれません。世の中には自分が時間的リソースを割き続けてもなかなかできないことを運良く簡単にこなせる人がきっといます。努力が才能に打ち勝つストーリーはカタルシスを覚えますが、きっとその物語の主人公は努力の才能を持った偏執狂的な人間であり、私とは違う人種であるということはとうの昔に悟ったはずです!!

さて、まずやるべきことは同じ研究室の卒論を読むことですよね。あんまり分からないですが、学校や学部によって要求されるレベルや雰囲気が違うことがあると思うのでなるべく境遇が近い先輩の卒論を読んで、卒論発表の様子などもそれとなく先輩に聞いてみましょう。

これをやると同じ研究室の先輩は概ね近い分野の研究をしているケースが多いため、シンプルに基礎的な知識を得ることもできます。「論文を読む」という目的で勉強できます。人間のアタマの性質的に、小さな目標が大事みたいな話があったりなかったりすると思いますが、まさにそういう話っぽくなってきました。

もちろん時間が余ったり気分が乗れば要求されている以上にやればいいです。追い詰められている状況で頑張れなくなったり、正常な判断ができなくなったりするヒトは想像以上に多いのではないかと思います。

書けば書くほど当たり前のことを書いている気がしてきました・・・。

テンプレでええねん

同じようなウェブページや動画コンテンツがあふれかえり、街に出ると同じような髪型や服装ばかりでうんざりしてしまう気持ちはよくわかります。私も何かと我流でやってしまいがちです。

しかし、テンプレにはテンプレたる所以があり、それなりの力を発揮するんじゃないでしょうか。どう考えてもこれまで研究などやってこなかった私がなんとか考え出したやり方よりもテンプレ的方法論のほうが効果があるに決まっています。

卒論の構成は言うまでもなくテンプレ(形式ばった文章を書く苦痛に耐えます。)でいいと思いますし、活動方針を決めるのにも卒論の書き方みたいな本を複数読んだ方がよい気がします。本が嫌いならYouTubeにたくさんそれっぽい動画が上がっていますし、ウェブページも死ぬほどあります。何も見ないよりよっぽどよいと思います。

ちなみに、私がそういう類の本を読んで印象に残っていることのひとつは、「仮説を立てて、それを検証するデータや知識を集めるようにすることで情報収集の効率が圧倒的あがる」という当たり前っちゃ当たり前の話です。これは目的の達成をにらんだ勉強をするという先述の話に通ずるところがあります。

また、発表とその予稿もテンプレです。聞き手の情報処理の負荷や不必要な誤解を招く可能性を考えると、むしろテンプレの方が良いとまで思います。

とはいえ、形式にこだわりすぎると相手に伝わるかどうかを度外視してしまうことがあるような印象です。自戒を込めてですが、体裁を整えることができたことに安心して発表練習に望んだら、内容の整合性がゆるくなって、何を言っているかよくわからないことになりがちになる印象です。(そんなことをしていたら今はやりのチャットボット以下の人間だと思われてしまいます・・・。シンギュラリティは近い・・・。)

俺はプログラマーじゃない

理想を目指して挫折するという問題は、コードを書くときにも潜んでいました。

どうもネットの海に落ちている情報を見る限り初心者にあたりが強い意見が多い気がします。(特に工学系では?これは偏見かもしれません。まあプロ意識の一部と言われれば納得できます。)クソコードを書くやつがいたら血祭に上げてみんなで袋叩きにします。

きっと何かしらのコンテキストがあってのことなのでそれが必ずしも悪いことだとは思いませんが、少なくとも私はそのような価値観からクソコードを生まないように慎重にコードを書く必要があると思いすぎていました。

ひとりで完結するならまだしも、今後プログラムを研究室に残す必要もあったため、実際私はたくさんの書籍とにらめっこしてクソコードと呼ばれないプログラムの条件を勉強していました。

まず「リーダブルコード」などの哲学みたいな本を読んでみたり、オブジェクト指向っぽい書き方を勉強してみたりしますが、ネットの意見はバラバラだし分かったような分からないような・・・また最初のどこまで理解すればいいんだ問題が再発します。

しかし、そんなことはきっと求められてはいないんだと思います。あなたも私もプロのプログラマーではないです。やるべきことは自分が理解できていると感じる手法を用いて、ベターな設計を繰り返すことです。(一方で無知に甘えず勉強し続けることは良いことだと思います。指南書っぽいものは大いに役立った感じがします。)

そのため、オブジェクトなんてモノは捨て去り、ひたすらに最低限のルールだけ守って自分のなかにある基準でベターな方を選びながら無心で書き続けるだけです。苦悩の中で得た肌感覚とか、使っていたフレームワークのコーディング規約とか、命名に関する哲学とかに従ってとにかく書きます。数千行のコードに膨れ上がりましたが、何とか動くものができました。年明け後のことでした。

結局卒論は完成しなかった

納得いく卒論は提出日まで完成することはありませんでした。

ぎりぎりまで考察を分厚くしようとしたり、実験が妥当じゃない気がして再実験をしたりしましたが、結局最初に行った実験と納得いくほど深まらなかった考察をそのまま提出しました。

発表時にも先行研究の理解不十分な部分をつかれたらどうしよう・・・と思ったまま発表しましたが、それでも卒業の日は来るのです。

ここまで読んでくれた、神経質なくせに怠惰で、完璧主義なのに飽きっぽい私とあなたはこれからもベストな人生を歩むことができる希望は一切ありません。しかしそれでもベターな人生を幸せに歩むことはきっとできます。

卒論は決して完成しないからこそ、私とあなたをいつも勇気づける存在になってくれるのです。

Comments

Copied title and URL