pit-rayの備忘録

知識のあうとぷっと

【iPhone】復元(初期化)後にアクティベートできない

本記事の内容は、知恵袋で同様の質問をし、自己解決した内容です。
そのまとめを詳細に記事にすることで、アクセス数を稼ごうという次第です。

iPhoneの調子が悪く、バックアップをしたうえで初期化を行うというケースは少なくないと思います。

その際、iPhoneがアクティベートできない症状に見舞われるかもしれません。
原因としていくつか挙げられますが、次に挙げる症状がある場合は同様の解決策が最適かもしれません。


現在契約中のiPhoneを、iTunesの「復元」にて初期化を行い、その後の再起動で次の文章が表示される

アクティベートできません
アクティベーションサーバにアクセスできないため、このiPhoneをアクティベートできませんでした。iPhoneをiTunesに接続してアクティベートしてみるか、数分後にやり直してください。
この問題が解決しない場合は、Appleのサポートに問い合わせてください: apple.com/jp/support


解決策は次の通りです。
上から順番に試してみてください。
ただし、当サイトで紹介した方法を試す場合は、自己責任でよろしくお願いいたします。こちらは一切の責任を負いません。

■ アクティベーション中にSIMカードを抜く

この方法に関するソースは分かりませんが、巷で解決しているケースもあるようです。お試しください。


■ iTunesに接続し、アクティベーションを開始してみる

この際に次のようにエラーが出た場合は、他の解決策をお試しください。

デバイスからアクティベーション情報が取得できなかったため、iPhone "iPhone"をアクティブにできませんでした。
iPhoneを取り外し、SIMカードが正しくセットされていることを確認します。SIM PINを使用している場合は"ロック解除"をタップしてSIM PINを入力します。次に、iPhoneを接続し直します。

■ リカバリモードを用いてアップデートまたは復元を行う

リカバリモードを用いて、iOSの再インストールを行います。ここでは、初期化したiPhoneを対象に説明をしていますので、アップデートと復元はどちらでも構いません。
Apple公式ページを参考にするといいと思います。


■ SIMカードに異状があるかどうか確認する

 身内等に同じキャリアの同機種をお持ちの方限定の方法です。自分のiPhoneのSIMカードと、他方のiPhoneのSIMカードを交換し、正常に動作するか確認します。
 自分のSIMカードを入れたiPhoneが正常に動作しなかった場合は、SIMカードに原因がある可能性があるため、キャリアさんにSIMカード交換をお願いするとよいでしょう。
キャリアによっては同様の確認をしていただける場合もあるので、お問い合わせしてみましょう。

■ 他のWi-Fiを用いてアクティベーションを行う

 これはフリーでもよいので試してみてください。私がAppleサポートセンターにお問い合わせしたところ、試してみるようにとのことでした。
スマホだけの場合とiTunesを使用した場合を試すのが確実でしょう。


■ Appleストア、あるいはApple正規サービスプロバイダに持ち込み、無償交換してもらう

 解決方法というか最後の手段ですが、ここまでの解決策で改善しない場合は本体異常の可能性が高いです。それまで正常に使用できていた場合でも同様です。
まずお近くのAppleサポートが受けれる店舗で修理を依頼してください。近辺にない場合は、輸送でサポートを受けることもできます。ただし、持ち込みの際は必ず予約を行うようにしてください。
 また、現在故障中の機種がApple Care対象か確認してからサポートを受けるようにしましょう。本体に故意的な異常が見られない場合、その場での無償交換をしていただけますが、そうでない場合は修理費としてお金が発生します。

Apple Care Servicesに加入しているか確認するには次の手順を踏んでください。
現在故障中のiPhoneで、右下のマークからシリアルナンバー(SN)を確認します。
その番号をApple公式ページに入力することで確認が可能です。


以上です。
ご不明な点があればコメントください。なるべく早めに返答いたします。

【Python】二値分類はシグモイド関数を使う

今回はニューラルネットワークに関するトピックです。

思うことがありましたら、どうぞお気軽にお寄せください。
早速ですが、本題です。


ニューラルネットワークを用いて推測を行う場合、大きく分けて二種類の分類ができるでしょう。
それは多値分類二値分類です。
それぞれ分けてスコアと確率の算出方法を見ていきましょう。


ここでは自然言語を扱う場合を想定しています。
特に二値分類に関しては、Negative Samplingを想定しています。


スコアの算出

多値分類

これはニューラルネットワークに入力した値が、どのようなクラスに属しているかを推測することを指します。

f:id:pit-ray:20190505173945j:plain

図は入力したxというデータが、ニューラルネットワークの?レイヤを通って、最後のノードにたどり着いた様子を示しています。
灰色はスコアの大きさを示しています。
また、このときのクラスの個数は、直前の重みの列数に等しくなります。

この場合、5つのクラスに分けているということになります。
多値分類の場合、スコアの大きさが確率の大きさに等しいため、上の5つのクラスはこのように表せます。

f:id:pit-ray:20190505180918j:plain

これから、xは二番目のクラスに属している可能性が高いと推測できます。


二値分類

二値分類は、xがYesかNoかを推測することを指します。(ここではそのように定義します)
ここでは、YesクラスとNoクラスに分けるのではなく、xが正解のときと比べてどれだけ似ているかを調べることで、YesかNoかを判断したいと思います。

それでは、xから得られたスコア正解から得られたスコアを比較するにはどうしたらいいでしょうか。
手っ取り早いのは内積を使うことです。

ベクトル\boldsymbol{a} とベクトル\boldsymbol{b} の内積は
  \boldsymbol{a}\cdot\boldsymbol{b}=|\boldsymbol{a}||\boldsymbol{b}|cos \theta
のように表せます。
大事なのは、\theta の意味です。
\theta は二つのベクトルがなす角です。
つまり、どれだけ同じ方向を向いているかを示しています。


ここまでのことを図に表すとこのようになります。

f:id:pit-ray:20190505184834j:plain


ここまでスコアの算出方法を、二つの分類方法に分けてみてきました。
それでは本題となるスコアを確率に変換する方法を考えます。


確率の算出

ここで確率は0から1の値を持つとします。

多値分類

上のスコアの算出にあったとおり、スコアの大きさは確率の大きさと一致します。
ここで注意したいのは、あくまで相対的な大きさが等しいのであって、実際の値は異なるということです。

そのような場合、分母に全体のスコアの和を取り、分子にクラスのスコアをとることで確率を算出できます。
そこで逆伝播を考慮して、ネイピア数を用いることで以下のように書けます。
  y _ k =  \displaystyle{ \frac{e^{a _ k} }{ \displaystyle{\sum_{i=1}^n e^{a _ i}}}}

k はクラスインデックスを指します。

これをソフトマックス関数といいます。

多値分類は、イメージしやすいと思います。


二値分類

二値分類のスコアは内積の結果でした。
繰り返しになりますが、内積は以下の式で定義されます。
  \boldsymbol{a}\cdot\boldsymbol{b}=|\boldsymbol{a}||\boldsymbol{b}|cos \theta

スコアはcos\theta が重要です。
\theta と内積の関係を示すと以下のようになります。

\theta cos\theta 内積(スコア)
0 1
\frac{\pi}{2} 0 0
\pi -1

このようにスコアの大きさは cos \theta に沿って変化していきます。
つまり、非線形に変化していきます。
ここで重要なのは、非線形であるという点です。
内積は大きさだけでなく、三角関数が絡むことで非線形性を持っています。

参考までに cos \theta0\leq\theta\leq\pi )のグラフを示します。
f:id:pit-ray:20190505193935j:plain

この変化を踏まえつつ、逆伝播を考慮してネイピア数を用いると活性化関数はこのように表せます。
  y=\frac{1}{1+e^{(-x)}}

これをシグモイド関数といいます。
グラフを示しますとこうなります。
f:id:pit-ray:20190505194915j:plain
このグラフは、表で示した内積と類似度( cos\theta )をうまく表現しています。
具体的に言うと、
xが正のときには、鋭角なので類似度が高くなり、確率が高くなっています。
その変化の仕方も cos\theta と似ています。

また、xが0のときには、垂直に交わっているので、確率が半分になっています。

さらに、xが負のときには、鈍角なので類似度が低くなり、確率が急激に下がります。
この時の変化も cos\theta を見ると同様の変化をしています。

したがって、シグモイド関数は、内積の変化を表すのに適していると言えます。


まとめ

これまでスコアと確率それぞれの考え方について、多値分類と二値分類で見てきました。
それぞれにおいて以下のような活性化関数を用いればよいです。

分類方法 活性化関数
多値分類 ソフトマックス関数
二値分類 シグモイド関数

 
 

参考文献

斎藤 康毅 『ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装』, 『ゼロから作るDeep Learning ❷ ―自然言語処理』



ゼロつくで直感的に理解できなかったため、まとめました。
参考になれば幸いです。
雑い図でスミマセン...